From 963ad2a068bfbeee14cc5ca4d4cc92497d856235 Mon Sep 17 00:00:00 2001 From: Rob Robbins Date: Thu, 21 Jun 2018 14:48:55 -0700 Subject: [PATCH 1/2] flatten out deps. fix lint errors and some warnings --- build/contracts/AttributeStore.json | 1545 -- build/contracts/CToken.json | 381 - build/contracts/DLL.json | 8200 ------- build/contracts/EIP20.json | 6020 ----- build/contracts/EIP20Interface.json | 1799 -- build/contracts/PLCRVoting.json | 28539 ------------------------ build/contracts/Parameterizer.json | 28526 ------------------------ build/contracts/Registry.json | 30517 -------------------------- build/contracts/SafeMath.json | 2439 -- contracts/AttributeStore.sol | 25 + contracts/C-Token.sol | 13 - contracts/ConstructableToken.sol | 21 + contracts/DLL.sol | 91 + contracts/ERC20.sol | 23 + contracts/ERC20Basic.sol | 14 + contracts/PLCRVoting.sol | 466 + contracts/Parameterizer.sol | 49 +- contracts/Registry.sol | 81 +- contracts/SafeMath.sol | 52 + contracts/StandardToken.sol | 124 + package.json | 2 +- 21 files changed, 913 insertions(+), 108014 deletions(-) delete mode 100644 build/contracts/AttributeStore.json delete mode 100644 build/contracts/CToken.json delete mode 100644 build/contracts/DLL.json delete mode 100644 build/contracts/EIP20.json delete mode 100644 build/contracts/EIP20Interface.json delete mode 100644 build/contracts/PLCRVoting.json delete mode 100644 build/contracts/Parameterizer.json delete mode 100644 build/contracts/Registry.json delete mode 100644 build/contracts/SafeMath.json create mode 100644 contracts/AttributeStore.sol delete mode 100644 contracts/C-Token.sol create mode 100644 contracts/ConstructableToken.sol create mode 100644 contracts/DLL.sol create mode 100644 contracts/ERC20.sol create mode 100644 contracts/ERC20Basic.sol create mode 100644 contracts/PLCRVoting.sol create mode 100644 contracts/SafeMath.sol create mode 100644 contracts/StandardToken.sol diff --git a/build/contracts/AttributeStore.json b/build/contracts/AttributeStore.json deleted file mode 100644 index c2ae3a4..0000000 --- a/build/contracts/AttributeStore.json +++ /dev/null @@ -1,1545 +0,0 @@ -{ - "contractName": "AttributeStore", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "self", - "type": "AttributeStore.Data storage" - }, - { - "name": "_UUID", - "type": "bytes32" - }, - { - "name": "_attrName", - "type": "string" - } - ], - "name": "getAttribute", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "self", - "type": "AttributeStore.Data storage" - }, - { - "name": "_UUID", - "type": "bytes32" - }, - { - "name": "_attrName", - "type": "string" - }, - { - "name": "_attrVal", - "type": "uint256" - } - ], - "name": "setAttribute", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6102e7610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f3007300000000000000000000000000000000000000003014608060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100f0575b600080fd5b6100da600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b6040518082815260200191505060405180910390f35b8180156100fc57600080fd5b50610179600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919050505061021b565b005b600080838360405180836000191660001916815260200182805190602001908083835b6020831015156101c3578051825260208201915060208101905060208303925061019e565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405180836000191660001916815260200182805190602001908083835b602083101515610262578051825260208201915060208101905060208303925061023d565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058203e999c16bfe9b614e1f8b73b4882892df9f7099033ffc242a2b3dee4b52c54bc0029", - "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100f0575b600080fd5b6100da600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b6040518082815260200191505060405180910390f35b8180156100fc57600080fd5b50610179600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919050505061021b565b005b600080838360405180836000191660001916815260200182805190602001908083835b6020831015156101c3578051825260208201915060208101905060208303925061019e565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405180836000191660001916815260200182805190602001908083835b602083101515610262578051825260208201915060208101905060208303925061023d565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058203e999c16bfe9b614e1f8b73b4882892df9f7099033ffc242a2b3dee4b52c54bc0029", - "sourceMap": "27:507:3:-;;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": "27:507:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:198:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:199;226:4;243:11;267:5;274:9;257:27;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;257:27:3;;;;;;;;;;;;;;;;;243:41;;302:4;:10;;:15;313:3;302:15;;;;;;;;;;;;;;;;;;295:22;;126:199;;;;;;:::o;333:198::-;445:11;469:5;476:9;459:27;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;459:27:3;;;;;;;;;;;;;;;;;445:41;;515:8;497:4;:10;;:15;508:3;497:15;;;;;;;;;;;;;;;;;:26;;;;333:198;;;;;:::o", - "source": "pragma solidity^0.4.11;\r\n\r\nlibrary AttributeStore {\r\n struct Data {\r\n mapping(bytes32 => uint) store;\r\n }\r\n\r\n function getAttribute(Data storage self, bytes32 _UUID, string _attrName)\r\n public view returns (uint) {\r\n bytes32 key = keccak256(_UUID, _attrName);\r\n return self.store[key];\r\n }\r\n\r\n function setAttribute(Data storage self, bytes32 _UUID, string _attrName, uint _attrVal)\r\n public {\r\n bytes32 key = keccak256(_UUID, _attrName);\r\n self.store[key] = _attrVal;\r\n }\r\n}\r\n", - "sourcePath": "attrstore/AttributeStore.sol", - "ast": { - "absolutePath": "attrstore/AttributeStore.sol", - "exportedSymbols": { - "AttributeStore": [ - 2165 - ] - }, - "id": 2166, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2108, - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 2165, - "linearizedBaseContracts": [ - 2165 - ], - "name": "AttributeStore", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "AttributeStore.Data", - "id": 2113, - "members": [ - { - "constant": false, - "id": 2112, - "name": "store", - "nodeType": "VariableDeclaration", - "scope": 2113, - "src": "80:30:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 2111, - "keyType": { - "id": 2109, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "88:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "80:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 2110, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "99:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Data", - "nodeType": "StructDefinition", - "scope": 2165, - "src": "57:61:3", - "visibility": "public" - }, - { - "body": { - "id": 2136, - "nodeType": "Block", - "src": "232:93:3", - "statements": [ - { - "assignments": [ - 2125 - ], - "declarations": [ - { - "constant": false, - "id": 2125, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "243:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2124, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "243:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2130, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2127, - "name": "_UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2117, - "src": "267:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 2128, - "name": "_attrName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2119, - "src": "274:9:3", - "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": 2126, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "257:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "257:27:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "243:41:3" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2131, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2115, - "src": "302:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data storage pointer" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "302:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 2134, - "indexExpression": { - "argumentTypes": null, - "id": 2133, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2125, - "src": "313:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "302:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2123, - "id": 2135, - "nodeType": "Return", - "src": "295:22:3" - } - ] - }, - "documentation": null, - "id": 2137, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAttribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2115, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "148:17:3", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - }, - "typeName": { - "contractScope": null, - "id": 2114, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "148:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2117, - "name": "_UUID", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "167:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2116, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "167:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2119, - "name": "_attrName", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "182:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2118, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "182:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "147:52:3" - }, - "payable": false, - "returnParameters": { - "id": 2123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2122, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "226:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2121, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "226:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "225:6:3" - }, - "scope": 2165, - "src": "126:199:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2163, - "nodeType": "Block", - "src": "434:97:3", - "statements": [ - { - "assignments": [ - 2149 - ], - "declarations": [ - { - "constant": false, - "id": 2149, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "445:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2148, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "445:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2154, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2151, - "name": "_UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2141, - "src": "469:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 2152, - "name": "_attrName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2143, - "src": "476:9:3", - "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": 2150, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "459:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "459:27:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "445:41:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2155, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2139, - "src": "497:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data storage pointer" - } - }, - "id": 2158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "497:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 2159, - "indexExpression": { - "argumentTypes": null, - "id": 2157, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "508:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "497:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2160, - "name": "_attrVal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2145, - "src": "515:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "497:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2162, - "nodeType": "ExpressionStatement", - "src": "497:26:3" - } - ] - }, - "documentation": null, - "id": 2164, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAttribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2139, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "355:17:3", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - }, - "typeName": { - "contractScope": null, - "id": 2138, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "355:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2141, - "name": "_UUID", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "374:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2140, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "374:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2143, - "name": "_attrName", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "389:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2142, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "389:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2145, - "name": "_attrVal", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "407:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2144, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "354:67:3" - }, - "payable": false, - "returnParameters": { - "id": 2147, - "nodeType": "ParameterList", - "parameters": [], - "src": "434:0:3" - }, - "scope": 2165, - "src": "333:198:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2166, - "src": "27:507:3" - } - ], - "src": "0:536:3" - }, - "legacyAST": { - "absolutePath": "attrstore/AttributeStore.sol", - "exportedSymbols": { - "AttributeStore": [ - 2165 - ] - }, - "id": 2166, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2108, - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 2165, - "linearizedBaseContracts": [ - 2165 - ], - "name": "AttributeStore", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "AttributeStore.Data", - "id": 2113, - "members": [ - { - "constant": false, - "id": 2112, - "name": "store", - "nodeType": "VariableDeclaration", - "scope": 2113, - "src": "80:30:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 2111, - "keyType": { - "id": 2109, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "88:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "80:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 2110, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "99:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Data", - "nodeType": "StructDefinition", - "scope": 2165, - "src": "57:61:3", - "visibility": "public" - }, - { - "body": { - "id": 2136, - "nodeType": "Block", - "src": "232:93:3", - "statements": [ - { - "assignments": [ - 2125 - ], - "declarations": [ - { - "constant": false, - "id": 2125, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "243:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2124, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "243:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2130, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2127, - "name": "_UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2117, - "src": "267:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 2128, - "name": "_attrName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2119, - "src": "274:9:3", - "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": 2126, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "257:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "257:27:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "243:41:3" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2131, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2115, - "src": "302:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data storage pointer" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "302:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 2134, - "indexExpression": { - "argumentTypes": null, - "id": 2133, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2125, - "src": "313:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "302:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2123, - "id": 2135, - "nodeType": "Return", - "src": "295:22:3" - } - ] - }, - "documentation": null, - "id": 2137, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getAttribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2115, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "148:17:3", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - }, - "typeName": { - "contractScope": null, - "id": 2114, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "148:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2117, - "name": "_UUID", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "167:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2116, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "167:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2119, - "name": "_attrName", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "182:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2118, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "182:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "147:52:3" - }, - "payable": false, - "returnParameters": { - "id": 2123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2122, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2137, - "src": "226:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2121, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "226:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "225:6:3" - }, - "scope": 2165, - "src": "126:199:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2163, - "nodeType": "Block", - "src": "434:97:3", - "statements": [ - { - "assignments": [ - 2149 - ], - "declarations": [ - { - "constant": false, - "id": 2149, - "name": "key", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "445:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2148, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "445:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2154, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2151, - "name": "_UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2141, - "src": "469:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 2152, - "name": "_attrName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2143, - "src": "476:9:3", - "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": 2150, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "459:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "459:27:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "445:41:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2155, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2139, - "src": "497:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data storage pointer" - } - }, - "id": 2158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "store", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "497:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 2159, - "indexExpression": { - "argumentTypes": null, - "id": 2157, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "508:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "497:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2160, - "name": "_attrVal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2145, - "src": "515:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "497:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2162, - "nodeType": "ExpressionStatement", - "src": "497:26:3" - } - ] - }, - "documentation": null, - "id": 2164, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "setAttribute", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2139, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "355:17:3", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - }, - "typeName": { - "contractScope": null, - "id": 2138, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "355:4:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2141, - "name": "_UUID", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "374:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2140, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "374:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2143, - "name": "_attrName", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "389:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2142, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "389:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2145, - "name": "_attrVal", - "nodeType": "VariableDeclaration", - "scope": 2164, - "src": "407:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2144, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "354:67:3" - }, - "payable": false, - "returnParameters": { - "id": 2147, - "nodeType": "ParameterList", - "parameters": [], - "src": "434:0:3" - }, - "scope": 2165, - "src": "333:198:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2166, - "src": "27:507:3" - } - ], - "src": "0:536:3" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.099Z" -} \ No newline at end of file diff --git a/build/contracts/CToken.json b/build/contracts/CToken.json deleted file mode 100644 index ad435af..0000000 --- a/build/contracts/CToken.json +++ /dev/null @@ -1,381 +0,0 @@ -{ - "contractName": "CToken", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "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" - }, - { - "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" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "/**\n * A placeholder token that, for now simply serves as a lever to force the\n * tokens/eip20/EIP20 to build and be available to the js repo\n */\n\npragma solidity 0.4.24;\n\nimport \"tokens/eip20/EIP20.sol\";\n\n\ncontract CToken is EIP20 {\n\n}\n", - "sourcePath": "/home/rbharath/computable/contracts/C-Token.sol", - "ast": { - "absolutePath": "/home/rbharath/computable/contracts/C-Token.sol", - "exportedSymbols": { - "CToken": [ - 5 - ] - }, - "id": 6, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "147:23:0" - }, - { - "absolutePath": "tokens/eip20/EIP20.sol", - "file": "tokens/eip20/EIP20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 6, - "sourceUnit": 3717, - "src": "172:32:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3, - "name": "EIP20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3716, - "src": "226:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20_$3716", - "typeString": "contract EIP20" - } - }, - "id": 4, - "nodeType": "InheritanceSpecifier", - "src": "226:5:0" - } - ], - "contractDependencies": [ - 3716, - 3782 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 5, - "linearizedBaseContracts": [ - 5, - 3716, - 3782 - ], - "name": "CToken", - "nodeType": "ContractDefinition", - "nodes": [], - "scope": 6, - "src": "207:29:0" - } - ], - "src": "147:90:0" - }, - "legacyAST": { - "absolutePath": "/home/rbharath/computable/contracts/C-Token.sol", - "exportedSymbols": { - "CToken": [ - 5 - ] - }, - "id": 6, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "147:23:0" - }, - { - "absolutePath": "tokens/eip20/EIP20.sol", - "file": "tokens/eip20/EIP20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 6, - "sourceUnit": 3717, - "src": "172:32:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3, - "name": "EIP20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3716, - "src": "226:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20_$3716", - "typeString": "contract EIP20" - } - }, - "id": 4, - "nodeType": "InheritanceSpecifier", - "src": "226:5:0" - } - ], - "contractDependencies": [ - 3716, - 3782 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 5, - "linearizedBaseContracts": [ - 5, - 3716, - 3782 - ], - "name": "CToken", - "nodeType": "ContractDefinition", - "nodes": [], - "scope": 6, - "src": "207:29:0" - } - ], - "src": "147:90:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.073Z" -} \ No newline at end of file diff --git a/build/contracts/DLL.json b/build/contracts/DLL.json deleted file mode 100644 index 9b493a0..0000000 --- a/build/contracts/DLL.json +++ /dev/null @@ -1,8200 +0,0 @@ -{ - "contractName": "DLL", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - } - ], - "name": "isEmpty", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - }, - { - "name": "_curr", - "type": "uint256" - } - ], - "name": "contains", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - }, - { - "name": "_curr", - "type": "uint256" - } - ], - "name": "getNext", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - }, - { - "name": "_curr", - "type": "uint256" - } - ], - "name": "getPrev", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - } - ], - "name": "getStart", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - } - ], - "name": "getEnd", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - }, - { - "name": "_prev", - "type": "uint256" - }, - { - "name": "_curr", - "type": "uint256" - }, - { - "name": "_next", - "type": "uint256" - } - ], - "name": "insert", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "self", - "type": "DLL.Data storage" - }, - { - "name": "_curr", - "type": "uint256" - } - ], - "name": "remove", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x610553610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100e8578063366a5ba2146101265780636d900ed0146101685780637c11cf641461019f5780639735c51b146101d3578063c426b0061461021e578063ee4f1ac414610256575b600080fd5b6100d2600480360381019080803590602001909291908035906020019092919050505061028a565b6040518082815260200191505060405180910390f35b61011060048036038101908080359060200190929190803590602001909291905050506102ad565b6040518082815260200191505060405180910390f35b61014e60048036038101908080359060200190929190803590602001909291905050506102d0565b604051808215151515815260200191505060405180910390f35b81801561017457600080fd5b5061019d6004803603810190808035906020019092919080359060200190929190505050610350565b005b6101bd600480360381019080803590602001909291905050506103e9565b6040518082815260200191505060405180910390f35b8180156101df57600080fd5b5061021c600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506103fd565b005b61023c600480360381019080803590602001909291905050506104ff565b604051808215151515815260200191505060405180910390f35b61027460048036038101908080359060200190929190505050610513565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b60008060006102de856104ff565b806102e95750600084145b156102f75760009250610348565b8361030186610513565b148015610315575083610313866103e9565b145b91506000610323868661028a565b1480156103395750600061033786866102ad565b145b90508180610345575080155b92505b505092915050565b60008061035d84846102d0565b1515610368576103e3565b610372848461028a565b915061037e84846102ad565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103f68260006102ad565b9050919050565b6000821415151561040d57600080fd5b6104178483610350565b600083148061042c575061042b84846102d0565b5b151561043757600080fd5b600081148061044c575061044b84826102d0565b5b151561045757600080fd5b80610462858561028a565b14151561046e57600080fd5b8261047985836102ad565b14151561048557600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b60008061050b83610513565b149050919050565b600061052082600061028a565b90509190505600a165627a7a723058203f6caeb6bd2ced87b59f3e82a8e24e247c359feb3462fcf287e34a931bd6b1eb0029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100e8578063366a5ba2146101265780636d900ed0146101685780637c11cf641461019f5780639735c51b146101d3578063c426b0061461021e578063ee4f1ac414610256575b600080fd5b6100d2600480360381019080803590602001909291908035906020019092919050505061028a565b6040518082815260200191505060405180910390f35b61011060048036038101908080359060200190929190803590602001909291905050506102ad565b6040518082815260200191505060405180910390f35b61014e60048036038101908080359060200190929190803590602001909291905050506102d0565b604051808215151515815260200191505060405180910390f35b81801561017457600080fd5b5061019d6004803603810190808035906020019092919080359060200190929190505050610350565b005b6101bd600480360381019080803590602001909291905050506103e9565b6040518082815260200191505060405180910390f35b8180156101df57600080fd5b5061021c600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506103fd565b005b61023c600480360381019080803590602001909291905050506104ff565b604051808215151515815260200191505060405180910390f35b61027460048036038101908080359060200190929190505050610513565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b60008060006102de856104ff565b806102e95750600084145b156102f75760009250610348565b8361030186610513565b148015610315575083610313866103e9565b145b91506000610323868661028a565b1480156103395750600061033786866102ad565b145b90508180610345575080155b92505b505092915050565b60008061035d84846102d0565b1515610368576103e3565b610372848461028a565b915061037e84846102ad565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103f68260006102ad565b9050919050565b6000821415151561040d57600080fd5b6104178483610350565b600083148061042c575061042b84846102d0565b5b151561043757600080fd5b600081148061044c575061044b84826102d0565b5b151561045757600080fd5b80610462858561028a565b14151561046e57600080fd5b8261047985836102ad565b14151561048557600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b60008061050b83610513565b149050919050565b600061052082600061028a565b90509190505600a165627a7a723058203f6caeb6bd2ced87b59f3e82a8e24e247c359feb3462fcf287e34a931bd6b1eb0029", - "sourceMap": "25:2240:4:-;;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": "25:2240:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;797;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;295:381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1979:284;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1979:284:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1027:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1480:495;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1480:495:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;180:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:113;749:4;768;:8;;:15;777:5;768:15;;;;;;;;;;;:20;;;761:27;;680:113;;;;:::o;797:::-;866:4;885;:8;;:15;894:5;885:15;;;;;;;;;;;:20;;;878:27;;797:113;;;;:::o;295:381::-;365:4;455:17;533:15;381:13;389:4;381:7;:13::i;:::-;:38;;;;71:1;398:5;:21;381:38;377:71;;;436:5;429:12;;;;377:71;494:5;476:14;485:4;476:8;:14::i;:::-;:23;475:52;;;;;521:5;505:12;512:4;505:6;:12::i;:::-;:21;475:52;455:72;;71:1;552:20;560:4;566:5;552:7;:20::i;:::-;:36;551:80;;;;;71:1;594:20;602:4;608:5;594:7;:20::i;:::-;:36;551:80;533:98;;644:12;:27;;;;661:10;660:11;644:27;637:34;;295:381;;;;;;;:::o;1979:284::-;2094:9;2132;2044:21;2053:4;2059:5;2044:8;:21::i;:::-;2043:22;2039:49;;;2075:7;;2039:49;2106:20;2114:4;2120:5;2106:7;:20::i;:::-;2094:32;;2144:20;2152:4;2158:5;2144:7;:20::i;:::-;2132:32;;2193:4;2171;:8;;:14;2180:4;2171:14;;;;;;;;;;;:19;;:26;;;;2225:4;2203;:8;;:14;2212:4;2203:14;;;;;;;;;;;:19;;:26;;;;2243:4;:8;;:15;2252:5;2243:15;;;;;;;;;;;;2236:22;;;;;;;;;;;;;;1979:284;;;;;:::o;1027:107::-;1083:4;1102:27;1110:4;71:1;1102:7;:27::i;:::-;1095:34;;1027:107;;;:::o;1480:495::-;71:1;1572:5;:21;;1564:30;;;;;;;;1601:19;1608:4;1614:5;1601:6;:19::i;:::-;71:1;1635:5;:21;:46;;;;1660:21;1669:4;1675:5;1660:8;:21::i;:::-;1635:46;1627:55;;;;;;;;71:1;1696:5;:21;:46;;;;1721:21;1730:4;1736:5;1721:8;:21::i;:::-;1696:46;1688:55;;;;;;;;1782:5;1758:20;1766:4;1772:5;1758:7;:20::i;:::-;:29;1750:38;;;;;;;;1826:5;1802:20;1810:4;1816:5;1802:7;:20::i;:::-;:29;1794:38;;;;;;;;1862:5;1839:4;:8;;:15;1848:5;1839:15;;;;;;;;;;;:20;;:28;;;;1896:5;1873:4;:8;;:15;1882:5;1873:15;;;;;;;;;;;:20;;:28;;;;1931:5;1908:4;:8;;:15;1917:5;1908:15;;;;;;;;;;;:20;;:28;;;;1965:5;1942:4;:8;;:15;1951:5;1942:15;;;;;;;;;;;:20;;:28;;;;1480:495;;;;:::o;180:111::-;237:4;71:1;256:14;265:4;256:8;:14::i;:::-;:30;249:37;;180:111;;;:::o;914:109::-;972:4;991:27;999:4;71:1;991:7;:27::i;:::-;984:34;;914:109;;;:::o", - "source": "pragma solidity^0.4.11;\n\nlibrary DLL {\n\n uint constant NULL_NODE_ID = 0;\n\n struct Node {\n uint next;\n uint prev;\n }\n\n struct Data {\n mapping(uint => Node) dll;\n }\n\n function isEmpty(Data storage self) public view returns (bool) {\n return getStart(self) == NULL_NODE_ID;\n }\n\n function contains(Data storage self, uint _curr) public view returns (bool) {\n if (isEmpty(self) || _curr == NULL_NODE_ID) {\n return false;\n } \n\n bool isSingleNode = (getStart(self) == _curr) && (getEnd(self) == _curr);\n bool isNullNode = (getNext(self, _curr) == NULL_NODE_ID) && (getPrev(self, _curr) == NULL_NODE_ID);\n return isSingleNode || !isNullNode;\n }\n\n function getNext(Data storage self, uint _curr) public view returns (uint) {\n return self.dll[_curr].next;\n }\n\n function getPrev(Data storage self, uint _curr) public view returns (uint) {\n return self.dll[_curr].prev;\n }\n\n function getStart(Data storage self) public view returns (uint) {\n return getNext(self, NULL_NODE_ID);\n }\n\n function getEnd(Data storage self) public view returns (uint) {\n return getPrev(self, NULL_NODE_ID);\n }\n\n /**\n @dev Inserts a new node between _prev and _next. When inserting a node already existing in \n the list it will be automatically removed from the old position.\n @param _prev the node which _new will be inserted after\n @param _curr the id of the new node being inserted\n @param _next the node which _new will be inserted before\n */\n function insert(Data storage self, uint _prev, uint _curr, uint _next) public {\n require(_curr != NULL_NODE_ID);\n\n remove(self, _curr);\n\n require(_prev == NULL_NODE_ID || contains(self, _prev));\n require(_next == NULL_NODE_ID || contains(self, _next));\n\n require(getNext(self, _prev) == _next);\n require(getPrev(self, _next) == _prev);\n\n self.dll[_curr].prev = _prev;\n self.dll[_curr].next = _next;\n\n self.dll[_prev].next = _curr;\n self.dll[_next].prev = _curr;\n }\n\n function remove(Data storage self, uint _curr) public {\n if (!contains(self, _curr)) {\n return;\n }\n\n uint next = getNext(self, _curr);\n uint prev = getPrev(self, _curr);\n\n self.dll[next].prev = prev;\n self.dll[prev].next = next;\n\n delete self.dll[_curr];\n }\n}\n", - "sourcePath": "dll/DLL.sol", - "ast": { - "absolutePath": "dll/DLL.sol", - "exportedSymbols": { - "DLL": [ - 2466 - ] - }, - "id": 2467, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2167, - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 2466, - "linearizedBaseContracts": [ - 2466 - ], - "name": "DLL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 2170, - "name": "NULL_NODE_ID", - "nodeType": "VariableDeclaration", - "scope": 2466, - "src": "42:30:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2168, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "42:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "71:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "canonicalName": "DLL.Node", - "id": 2175, - "members": [ - { - "constant": false, - "id": 2172, - "name": "next", - "nodeType": "VariableDeclaration", - "scope": 2175, - "src": "95:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2171, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "95:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2174, - "name": "prev", - "nodeType": "VariableDeclaration", - "scope": 2175, - "src": "110:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2173, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "110:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Node", - "nodeType": "StructDefinition", - "scope": 2466, - "src": "77:47:4", - "visibility": "public" - }, - { - "canonicalName": "DLL.Data", - "id": 2180, - "members": [ - { - "constant": false, - "id": 2179, - "name": "dll", - "nodeType": "VariableDeclaration", - "scope": 2180, - "src": "146:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node)" - }, - "typeName": { - "id": 2178, - "keyType": { - "id": 2176, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "154:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "146:21:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node)" - }, - "valueType": { - "contractScope": null, - "id": 2177, - "name": "Node", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2175, - "src": "162:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage_ptr", - "typeString": "struct DLL.Node" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Data", - "nodeType": "StructDefinition", - "scope": 2466, - "src": "128:48:4", - "visibility": "public" - }, - { - "body": { - "id": 2193, - "nodeType": "Block", - "src": "243:48:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2188, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2182, - "src": "265:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2187, - "name": "getStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "256:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "256:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2190, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "274:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "256:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2186, - "id": 2192, - "nodeType": "Return", - "src": "249:37:4" - } - ] - }, - "documentation": null, - "id": 2194, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isEmpty", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2182, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2194, - "src": "197:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2181, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "197:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "196:19:4" - }, - "payable": false, - "returnParameters": { - "id": 2186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2185, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2194, - "src": "237:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2184, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "237:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "236:6:4" - }, - "scope": 2466, - "src": "180:111:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2253, - "nodeType": "Block", - "src": "371:305:4", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2204, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "389:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2203, - "name": "isEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2194, - "src": "381:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (bool)" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "381:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2206, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "398:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2207, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "407:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "398:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "381:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2213, - "nodeType": "IfStatement", - "src": "377:71:4", - "trueBody": { - "id": 2212, - "nodeType": "Block", - "src": "421:27:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "436:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2202, - "id": 2211, - "nodeType": "Return", - "src": "429:12:4" - } - ] - } - }, - { - "assignments": [ - 2215 - ], - "declarations": [ - { - "constant": false, - "id": 2215, - "name": "isSingleNode", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "455:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2214, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "455:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2229, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2217, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "485:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2216, - "name": "getStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "476:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" - } - }, - "id": 2218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "476:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2219, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "494:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "476:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2221, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "475:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2223, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "512:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2222, - "name": "getEnd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2312, - "src": "505:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" - } - }, - "id": 2224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "505:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2225, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "521:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "505:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2227, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "504:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "475:52:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "455:72:4" - }, - { - "assignments": [ - 2231 - ], - "declarations": [ - { - "constant": false, - "id": 2231, - "name": "isNullNode", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "533:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2230, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "533:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2247, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2233, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "560:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2234, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "566:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2232, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "552:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "552:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2236, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "576:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "552:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2238, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "551:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2240, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "602:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2241, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "608:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2239, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "594:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "594:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2243, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "618:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "594:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2245, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "593:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "551:80:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "533:98:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2248, - "name": "isSingleNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2215, - "src": "644:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "id": 2250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "660:11:4", - "subExpression": { - "argumentTypes": null, - "id": 2249, - "name": "isNullNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2231, - "src": "661:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "644:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2202, - "id": 2252, - "nodeType": "Return", - "src": "637:34:4" - } - ] - }, - "documentation": null, - "id": 2254, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2196, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "313:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2195, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "313:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2198, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "332:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2197, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "332:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "312:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2201, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "365:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "365:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "364:6:4" - }, - "scope": 2466, - "src": "295:381:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2269, - "nodeType": "Block", - "src": "755:38:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2263, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2256, - "src": "768:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2264, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "768:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2266, - "indexExpression": { - "argumentTypes": null, - "id": 2265, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2258, - "src": "777:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "768:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "768:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2262, - "id": 2268, - "nodeType": "Return", - "src": "761:27:4" - } - ] - }, - "documentation": null, - "id": 2270, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNext", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2256, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2270, - "src": "697:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2255, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "697:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2258, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2270, - "src": "716:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2257, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "716:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "696:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2270, - "src": "749:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2260, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "749:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "748:6:4" - }, - "scope": 2466, - "src": "680:113:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2285, - "nodeType": "Block", - "src": "872:38:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2279, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "885:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "885:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2282, - "indexExpression": { - "argumentTypes": null, - "id": 2281, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "894:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "885:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "885:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2278, - "id": 2284, - "nodeType": "Return", - "src": "878:27:4" - } - ] - }, - "documentation": null, - "id": 2286, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPrev", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2272, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2286, - "src": "814:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2271, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "814:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2274, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2286, - "src": "833:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2273, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "833:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "813:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2277, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2286, - "src": "866:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2276, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "866:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "865:6:4" - }, - "scope": 2466, - "src": "797:113:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2298, - "nodeType": "Block", - "src": "978:45:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2294, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2288, - "src": "999:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2295, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1005:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2293, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "991:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "991:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2292, - "id": 2297, - "nodeType": "Return", - "src": "984:34:4" - } - ] - }, - "documentation": null, - "id": 2299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStart", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2288, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "932:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2287, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "932:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "931:19:4" - }, - "payable": false, - "returnParameters": { - "id": 2292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2291, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "972:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2290, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "972:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "971:6:4" - }, - "scope": 2466, - "src": "914:109:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2311, - "nodeType": "Block", - "src": "1089:45:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2307, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "1110:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2308, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1116:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2306, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "1102:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1102:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2305, - "id": 2310, - "nodeType": "Return", - "src": "1095:34:4" - } - ] - }, - "documentation": null, - "id": 2312, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEnd", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2302, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2301, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2312, - "src": "1043:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2300, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1043:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1042:19:4" - }, - "payable": false, - "returnParameters": { - "id": 2305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2304, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2312, - "src": "1083:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2303, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1083:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1082:6:4" - }, - "scope": 2466, - "src": "1027:107:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2410, - "nodeType": "Block", - "src": "1558:417:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2324, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1572:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 2325, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1581:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1572:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2323, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1564:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1564:30:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2328, - "nodeType": "ExpressionStatement", - "src": "1564:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2330, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1608:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2331, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1614:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2329, - "name": "remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2465, - "src": "1601:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct DLL.Data storage pointer,uint256)" - } - }, - "id": 2332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1601:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2333, - "nodeType": "ExpressionStatement", - "src": "1601:19:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2335, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1635:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2336, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1644:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1635:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2339, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1669:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2340, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1675:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2338, - "name": "contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "1660:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1660:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1635:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2334, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1627:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1627:55:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2344, - "nodeType": "ExpressionStatement", - "src": "1627:55:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2346, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1696:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2347, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1705:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1696:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2350, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1730:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2351, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1736:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2349, - "name": "contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "1721:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1696:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2345, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1688:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1688:55:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2355, - "nodeType": "ExpressionStatement", - "src": "1688:55:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2358, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1766:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2359, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1772:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2357, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "1758:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1758:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2361, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1782:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1758:29:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1750:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1750:38:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2364, - "nodeType": "ExpressionStatement", - "src": "1750:38:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2367, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1810:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2368, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1816:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2366, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "1802:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1802:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2370, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1826:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1802:29:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2365, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1794:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1794:38:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2373, - "nodeType": "ExpressionStatement", - "src": "1794:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2374, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1839:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2377, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1839:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2378, - "indexExpression": { - "argumentTypes": null, - "id": 2376, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1848:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1839:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "1839:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2380, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1862:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1839:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2382, - "nodeType": "ExpressionStatement", - "src": "1839:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2383, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1873:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1873:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2385, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1882:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1873:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "1873:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2389, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1896:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1873:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2391, - "nodeType": "ExpressionStatement", - "src": "1873:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2392, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1908:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1908:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2396, - "indexExpression": { - "argumentTypes": null, - "id": 2394, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1917:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1908:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "1908:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2398, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1931:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1908:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2400, - "nodeType": "ExpressionStatement", - "src": "1908:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2401, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1942:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1942:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2405, - "indexExpression": { - "argumentTypes": null, - "id": 2403, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1951:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1942:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "1942:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2407, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1965:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1942:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2409, - "nodeType": "ExpressionStatement", - "src": "1942:28:4" - } - ] - }, - "documentation": "@dev Inserts a new node between _prev and _next. When inserting a node already existing in \nthe list it will be automatically removed from the old position.\n@param _prev the node which _new will be inserted after\n@param _curr the id of the new node being inserted\n@param _next the node which _new will be inserted before", - "id": 2411, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "insert", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2314, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1496:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2313, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1496:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2316, - "name": "_prev", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1515:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2315, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1515:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2318, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1527:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2317, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1527:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2320, - "name": "_next", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1539:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2319, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1539:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1495:55:4" - }, - "payable": false, - "returnParameters": { - "id": 2322, - "nodeType": "ParameterList", - "parameters": [], - "src": "1558:0:4" - }, - "scope": 2466, - "src": "1480:495:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2464, - "nodeType": "Block", - "src": "2033:230:4", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2043:22:4", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2419, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2053:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2420, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2059:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2418, - "name": "contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "2044:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2044:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2425, - "nodeType": "IfStatement", - "src": "2039:49:4", - "trueBody": { - "id": 2424, - "nodeType": "Block", - "src": "2067:21:4", - "statements": [ - { - "expression": null, - "functionReturnParameters": 2417, - "id": 2423, - "nodeType": "Return", - "src": "2075:7:4" - } - ] - } - }, - { - "assignments": [ - 2427 - ], - "declarations": [ - { - "constant": false, - "id": 2427, - "name": "next", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "2094:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2426, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2094:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2432, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2429, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2114:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2430, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2120:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2428, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "2106:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2106:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2094:32:4" - }, - { - "assignments": [ - 2434 - ], - "declarations": [ - { - "constant": false, - "id": 2434, - "name": "prev", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "2132:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2433, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2132:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2439, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2436, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2152:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2437, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2158:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2435, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "2144:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2144:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2132:32:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2440, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2171:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "2171:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2444, - "indexExpression": { - "argumentTypes": null, - "id": 2442, - "name": "next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "2180:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2171:14:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "2171:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2446, - "name": "prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "2193:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2171:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2448, - "nodeType": "ExpressionStatement", - "src": "2171:26:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2449, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2203:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "2203:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2453, - "indexExpression": { - "argumentTypes": null, - "id": 2451, - "name": "prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "2212:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2203:14:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "2203:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2455, - "name": "next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "2225:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2203:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2457, - "nodeType": "ExpressionStatement", - "src": "2203:26:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2236:22:4", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2458, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2243:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "2243:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2461, - "indexExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2252:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2243:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2463, - "nodeType": "ExpressionStatement", - "src": "2236:22:4" - } - ] - }, - "documentation": null, - "id": 2465, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2416, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2413, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "1995:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2412, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1995:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2415, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "2014:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2414, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2014:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1994:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2417, - "nodeType": "ParameterList", - "parameters": [], - "src": "2033:0:4" - }, - "scope": 2466, - "src": "1979:284:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2467, - "src": "25:2240:4" - } - ], - "src": "0:2266:4" - }, - "legacyAST": { - "absolutePath": "dll/DLL.sol", - "exportedSymbols": { - "DLL": [ - 2466 - ] - }, - "id": 2467, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2167, - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 2466, - "linearizedBaseContracts": [ - 2466 - ], - "name": "DLL", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 2170, - "name": "NULL_NODE_ID", - "nodeType": "VariableDeclaration", - "scope": 2466, - "src": "42:30:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2168, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "42:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "71:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "canonicalName": "DLL.Node", - "id": 2175, - "members": [ - { - "constant": false, - "id": 2172, - "name": "next", - "nodeType": "VariableDeclaration", - "scope": 2175, - "src": "95:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2171, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "95:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2174, - "name": "prev", - "nodeType": "VariableDeclaration", - "scope": 2175, - "src": "110:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2173, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "110:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Node", - "nodeType": "StructDefinition", - "scope": 2466, - "src": "77:47:4", - "visibility": "public" - }, - { - "canonicalName": "DLL.Data", - "id": 2180, - "members": [ - { - "constant": false, - "id": 2179, - "name": "dll", - "nodeType": "VariableDeclaration", - "scope": 2180, - "src": "146:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node)" - }, - "typeName": { - "id": 2178, - "keyType": { - "id": 2176, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "154:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "146:21:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node)" - }, - "valueType": { - "contractScope": null, - "id": 2177, - "name": "Node", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2175, - "src": "162:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage_ptr", - "typeString": "struct DLL.Node" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Data", - "nodeType": "StructDefinition", - "scope": 2466, - "src": "128:48:4", - "visibility": "public" - }, - { - "body": { - "id": 2193, - "nodeType": "Block", - "src": "243:48:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2188, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2182, - "src": "265:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2187, - "name": "getStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "256:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "256:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2190, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "274:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "256:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2186, - "id": 2192, - "nodeType": "Return", - "src": "249:37:4" - } - ] - }, - "documentation": null, - "id": 2194, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isEmpty", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2182, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2194, - "src": "197:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2181, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "197:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "196:19:4" - }, - "payable": false, - "returnParameters": { - "id": 2186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2185, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2194, - "src": "237:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2184, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "237:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "236:6:4" - }, - "scope": 2466, - "src": "180:111:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2253, - "nodeType": "Block", - "src": "371:305:4", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2204, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "389:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2203, - "name": "isEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2194, - "src": "381:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (bool)" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "381:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2206, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "398:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2207, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "407:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "398:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "381:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2213, - "nodeType": "IfStatement", - "src": "377:71:4", - "trueBody": { - "id": 2212, - "nodeType": "Block", - "src": "421:27:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "436:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2202, - "id": 2211, - "nodeType": "Return", - "src": "429:12:4" - } - ] - } - }, - { - "assignments": [ - 2215 - ], - "declarations": [ - { - "constant": false, - "id": 2215, - "name": "isSingleNode", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "455:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2214, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "455:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2229, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2217, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "485:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2216, - "name": "getStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "476:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" - } - }, - "id": 2218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "476:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2219, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "494:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "476:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2221, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "475:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2223, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "512:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - ], - "id": 2222, - "name": "getEnd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2312, - "src": "505:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" - } - }, - "id": 2224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "505:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2225, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "521:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "505:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2227, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "504:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "475:52:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "455:72:4" - }, - { - "assignments": [ - 2231 - ], - "declarations": [ - { - "constant": false, - "id": 2231, - "name": "isNullNode", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "533:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2230, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "533:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2247, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2233, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "560:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2234, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "566:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2232, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "552:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "552:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2236, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "576:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "552:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2238, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "551:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2240, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "602:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2241, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "608:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2239, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "594:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "594:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2243, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "618:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "594:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2245, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "593:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "551:80:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "533:98:4" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2248, - "name": "isSingleNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2215, - "src": "644:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "id": 2250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "660:11:4", - "subExpression": { - "argumentTypes": null, - "id": 2249, - "name": "isNullNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2231, - "src": "661:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "644:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2202, - "id": 2252, - "nodeType": "Return", - "src": "637:34:4" - } - ] - }, - "documentation": null, - "id": 2254, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2196, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "313:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2195, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "313:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2198, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "332:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2197, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "332:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "312:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2201, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2254, - "src": "365:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "365:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "364:6:4" - }, - "scope": 2466, - "src": "295:381:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2269, - "nodeType": "Block", - "src": "755:38:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2263, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2256, - "src": "768:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2264, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "768:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2266, - "indexExpression": { - "argumentTypes": null, - "id": 2265, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2258, - "src": "777:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "768:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "768:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2262, - "id": 2268, - "nodeType": "Return", - "src": "761:27:4" - } - ] - }, - "documentation": null, - "id": 2270, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNext", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2256, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2270, - "src": "697:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2255, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "697:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2258, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2270, - "src": "716:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2257, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "716:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "696:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2261, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2270, - "src": "749:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2260, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "749:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "748:6:4" - }, - "scope": 2466, - "src": "680:113:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2285, - "nodeType": "Block", - "src": "872:38:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2279, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "885:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "885:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2282, - "indexExpression": { - "argumentTypes": null, - "id": 2281, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "894:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "885:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "885:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2278, - "id": 2284, - "nodeType": "Return", - "src": "878:27:4" - } - ] - }, - "documentation": null, - "id": 2286, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getPrev", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2272, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2286, - "src": "814:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2271, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "814:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2274, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2286, - "src": "833:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2273, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "833:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "813:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2277, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2286, - "src": "866:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2276, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "866:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "865:6:4" - }, - "scope": 2466, - "src": "797:113:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2298, - "nodeType": "Block", - "src": "978:45:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2294, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2288, - "src": "999:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2295, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1005:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2293, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "991:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "991:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2292, - "id": 2297, - "nodeType": "Return", - "src": "984:34:4" - } - ] - }, - "documentation": null, - "id": 2299, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getStart", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2288, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "932:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2287, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "932:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "931:19:4" - }, - "payable": false, - "returnParameters": { - "id": 2292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2291, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2299, - "src": "972:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2290, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "972:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "971:6:4" - }, - "scope": 2466, - "src": "914:109:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2311, - "nodeType": "Block", - "src": "1089:45:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2307, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2301, - "src": "1110:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2308, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1116:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2306, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "1102:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1102:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2305, - "id": 2310, - "nodeType": "Return", - "src": "1095:34:4" - } - ] - }, - "documentation": null, - "id": 2312, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getEnd", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2302, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2301, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2312, - "src": "1043:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2300, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1043:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1042:19:4" - }, - "payable": false, - "returnParameters": { - "id": 2305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2304, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2312, - "src": "1083:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2303, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1083:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1082:6:4" - }, - "scope": 2466, - "src": "1027:107:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2410, - "nodeType": "Block", - "src": "1558:417:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2324, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1572:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 2325, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1581:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1572:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2323, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1564:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1564:30:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2328, - "nodeType": "ExpressionStatement", - "src": "1564:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2330, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1608:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2331, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1614:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2329, - "name": "remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2465, - "src": "1601:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct DLL.Data storage pointer,uint256)" - } - }, - "id": 2332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1601:19:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2333, - "nodeType": "ExpressionStatement", - "src": "1601:19:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2335, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1635:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2336, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1644:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1635:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2339, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1669:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2340, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1675:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2338, - "name": "contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "1660:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1660:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1635:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2334, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1627:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1627:55:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2344, - "nodeType": "ExpressionStatement", - "src": "1627:55:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2346, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1696:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2347, - "name": "NULL_NODE_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2170, - "src": "1705:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1696:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2350, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1730:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2351, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1736:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2349, - "name": "contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "1721:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1696:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2345, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1688:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1688:55:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2355, - "nodeType": "ExpressionStatement", - "src": "1688:55:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2358, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1766:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2359, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1772:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2357, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "1758:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1758:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2361, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1782:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1758:29:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1750:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1750:38:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2364, - "nodeType": "ExpressionStatement", - "src": "1750:38:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2367, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1810:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2368, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1816:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2366, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "1802:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1802:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2370, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1826:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1802:29:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2365, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1794:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1794:38:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2373, - "nodeType": "ExpressionStatement", - "src": "1794:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2374, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1839:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2377, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1839:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2378, - "indexExpression": { - "argumentTypes": null, - "id": 2376, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1848:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1839:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "1839:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2380, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1862:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1839:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2382, - "nodeType": "ExpressionStatement", - "src": "1839:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2383, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1873:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1873:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2385, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1882:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1873:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "1873:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2389, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1896:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1873:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2391, - "nodeType": "ExpressionStatement", - "src": "1873:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2392, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1908:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1908:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2396, - "indexExpression": { - "argumentTypes": null, - "id": 2394, - "name": "_prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2316, - "src": "1917:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1908:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "1908:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2398, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1931:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1908:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2400, - "nodeType": "ExpressionStatement", - "src": "1908:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2401, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2314, - "src": "1942:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "1942:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2405, - "indexExpression": { - "argumentTypes": null, - "id": 2403, - "name": "_next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2320, - "src": "1951:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1942:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "1942:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2407, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "1965:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1942:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2409, - "nodeType": "ExpressionStatement", - "src": "1942:28:4" - } - ] - }, - "documentation": "@dev Inserts a new node between _prev and _next. When inserting a node already existing in \nthe list it will be automatically removed from the old position.\n@param _prev the node which _new will be inserted after\n@param _curr the id of the new node being inserted\n@param _next the node which _new will be inserted before", - "id": 2411, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "insert", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2314, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1496:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2313, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1496:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2316, - "name": "_prev", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1515:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2315, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1515:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2318, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1527:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2317, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1527:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2320, - "name": "_next", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "1539:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2319, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1539:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1495:55:4" - }, - "payable": false, - "returnParameters": { - "id": 2322, - "nodeType": "ParameterList", - "parameters": [], - "src": "1558:0:4" - }, - "scope": 2466, - "src": "1480:495:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2464, - "nodeType": "Block", - "src": "2033:230:4", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2043:22:4", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2419, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2053:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2420, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2059:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2418, - "name": "contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2254, - "src": "2044:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2044:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2425, - "nodeType": "IfStatement", - "src": "2039:49:4", - "trueBody": { - "id": 2424, - "nodeType": "Block", - "src": "2067:21:4", - "statements": [ - { - "expression": null, - "functionReturnParameters": 2417, - "id": 2423, - "nodeType": "Return", - "src": "2075:7:4" - } - ] - } - }, - { - "assignments": [ - 2427 - ], - "declarations": [ - { - "constant": false, - "id": 2427, - "name": "next", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "2094:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2426, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2094:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2432, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2429, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2114:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2430, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2120:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2428, - "name": "getNext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "2106:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2106:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2094:32:4" - }, - { - "assignments": [ - 2434 - ], - "declarations": [ - { - "constant": false, - "id": 2434, - "name": "prev", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "2132:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2433, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2132:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2439, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2436, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2152:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - { - "argumentTypes": null, - "id": 2437, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2158:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2435, - "name": "getPrev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2286, - "src": "2144:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2144:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2132:32:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2440, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2171:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "2171:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2444, - "indexExpression": { - "argumentTypes": null, - "id": 2442, - "name": "next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "2180:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2171:14:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2174, - "src": "2171:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2446, - "name": "prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "2193:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2171:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2448, - "nodeType": "ExpressionStatement", - "src": "2171:26:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2449, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2203:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "2203:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2453, - "indexExpression": { - "argumentTypes": null, - "id": 2451, - "name": "prev", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2434, - "src": "2212:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2203:14:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "next", - "nodeType": "MemberAccess", - "referencedDeclaration": 2172, - "src": "2203:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2455, - "name": "next", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "2225:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2203:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2457, - "nodeType": "ExpressionStatement", - "src": "2203:26:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2236:22:4", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2458, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "2243:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data storage pointer" - } - }, - "id": 2459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "dll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2179, - "src": "2243:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$2175_storage_$", - "typeString": "mapping(uint256 => struct DLL.Node storage ref)" - } - }, - "id": 2461, - "indexExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_curr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "2252:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2243:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Node_$2175_storage", - "typeString": "struct DLL.Node storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2463, - "nodeType": "ExpressionStatement", - "src": "2236:22:4" - } - ] - }, - "documentation": null, - "id": 2465, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2416, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2413, - "name": "self", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "1995:17:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - }, - "typeName": { - "contractScope": null, - "id": 2412, - "name": "Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1995:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2415, - "name": "_curr", - "nodeType": "VariableDeclaration", - "scope": 2465, - "src": "2014:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2414, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2014:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1994:31:4" - }, - "payable": false, - "returnParameters": { - "id": 2417, - "nodeType": "ParameterList", - "parameters": [], - "src": "2033:0:4" - }, - "scope": 2466, - "src": "1979:284:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2467, - "src": "25:2240:4" - } - ], - "src": "0:2266:4" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.101Z" -} \ No newline at end of file diff --git a/build/contracts/EIP20.json b/build/contracts/EIP20.json deleted file mode 100644 index 7f53ec1..0000000 --- a/build/contracts/EIP20.json +++ /dev/null @@ -1,6020 +0,0 @@ -{ - "contractName": "EIP20", - "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": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_initialAmount", - "type": "uint256" - }, - { - "name": "_tokenName", - "type": "string" - }, - { - "name": "_decimalUnits", - "type": "uint8" - }, - { - "name": "_tokenSymbol", - "type": "string" - } - ], - "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": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "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": "success", - "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": "success", - "type": "bool" - } - ], - "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": "0x608060405234801561001057600080fd5b50604051610d0f380380610d0f8339810180604052810190808051906020019092919080518201929190602001805190602001909291908051820192919050505083600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008190555082600190805190602001906100b29291906100ee565b5081600260006101000a81548160ff021916908360ff16021790555080600390805190602001906100e49291906100ee565b5050505050610193565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012f57805160ff191683800117855561015d565b8280016001018555821561015d579182015b8281111561015c578251825591602001919060010190610141565b5b50905061016a919061016e565b5090565b61019091905b8082111561018c576000816000905550600101610174565b5090565b90565b610b6d806101a26000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461009e578063095ea7b31461012e57806318160ddd1461019357806323b872dd146101be578063313ce5671461024357806370a082311461027457806395d89b41146102cb578063a9059cbb1461035b578063dd62ed3e146103c0575b600080fd5b3480156100aa57600080fd5b506100b3610437565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f35780820151818401526020810190506100d8565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013a57600080fd5b50610179600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b34801561019f57600080fd5b506101a86105c7565b6040518082815260200191505060405180910390f35b3480156101ca57600080fd5b50610229600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105cd565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b50610258610867565b604051808260ff1660ff16815260200191505060405180910390f35b34801561028057600080fd5b506102b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061087a565b6040518082815260200191505060405180910390f35b3480156102d757600080fd5b506102e06108c3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610320578082015181840152602081019050610305565b50505050905090810190601f16801561034d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036757600080fd5b506103a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610961565b604051808215151515815260200191505060405180910390f35b3480156103cc57600080fd5b50610421600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aba565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104cd5780601f106104a2576101008083540402835291602001916104cd565b820191906000526020600020905b8154815290600101906020018083116104b057829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561069e5750828110155b15156106a957600080fd5b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107f65782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109595780601f1061092e57610100808354040283529160200191610959565b820191906000526020600020905b81548152906001019060200180831161093c57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156109b157600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820d19770f578ba5785f85dac82ebd68fefc5a8debe253116fe16fc8630a100cba40029", - "deployedBytecode": "0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461009e578063095ea7b31461012e57806318160ddd1461019357806323b872dd146101be578063313ce5671461024357806370a082311461027457806395d89b41146102cb578063a9059cbb1461035b578063dd62ed3e146103c0575b600080fd5b3480156100aa57600080fd5b506100b3610437565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f35780820151818401526020810190506100d8565b50505050905090810190601f1680156101205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013a57600080fd5b50610179600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b34801561019f57600080fd5b506101a86105c7565b6040518082815260200191505060405180910390f35b3480156101ca57600080fd5b50610229600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105cd565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b50610258610867565b604051808260ff1660ff16815260200191505060405180910390f35b34801561028057600080fd5b506102b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061087a565b6040518082815260200191505060405180910390f35b3480156102d757600080fd5b506102e06108c3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610320578082015181840152602081019050610305565b50505050905090810190601f16801561034d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036757600080fd5b506103a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610961565b604051808215151515815260200191505060405180910390f35b3480156103cc57600080fd5b50610421600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aba565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104cd5780601f106104a2576101008083540402835291602001916104cd565b820191906000526020600020905b8154815290600101906020018083116104b057829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561069e5750828110155b15156106a957600080fd5b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107f65782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109595780601f1061092e57610100808354040283529160200191610959565b820191906000526020600020905b81548152906001019060200180831161093c57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156109b157600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820d19770f578ba5785f85dac82ebd68fefc5a8debe253116fe16fc8630a100cba40029", - "sourceMap": "140:3125:6:-;;;725:642;8:9:-1;5:2;;;30:1;27;20:12;5:2;725:642:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;907:14;884:8;:20;893:10;884:20;;;;;;;;;;;;;;;:37;;;;998:14;984:11;:28;;;;1075:10;1068:4;:17;;;;;;;;;;;;:::i;:::-;;1177:13;1166:8;;:24;;;;;;;;;;;;;;;;;;1279:12;1270:6;:21;;;;;;;;;;;;:::i;:::-;;725:642;;;;140:3125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "140:3125:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;515:18:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;515:18:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2801:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2801:205:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;618:26:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;618:26:7;;;;;;;;;;;;;;;;;;;;;;;1987:689:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1987:689:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;586:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;586:21:6;;;;;;;;;;;;;;;;;;;;;;;;;;;2682:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2682:113:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;657:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;657:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;657:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1373:608;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1373:608:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3012:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3012:144:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2801:205::-;2868:12;2924:6;2892:7;:19;2900:10;2892:19;;;;;;;;;;;;;;;:29;2912:8;2892:29;;;;;;;;;;;;;;;:38;;;;2961:8;2940:38;;2949:10;2940:38;;;2971:6;2940:38;;;;;;;;;;;;;;;;;;2995:4;2988:11;;2801:205;;;;:::o;618:26:7:-;;;;:::o;1987:689:6:-;2069:12;2330:17;2350:7;:14;2358:5;2350:14;;;;;;;;;;;;;;;:26;2365:10;2350:26;;;;;;;;;;;;;;;;2330:46;;2413:6;2394:8;:15;2403:5;2394:15;;;;;;;;;;;;;;;;:25;;:48;;;;;2436:6;2423:9;:19;;2394:48;2386:57;;;;;;;;2470:6;2453:8;:13;2462:3;2453:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2505:6;2486:8;:15;2495:5;2486:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;211:10;2525:9;:23;2521:90;;;2594:6;2564:7;:14;2572:5;2564:14;;;;;;;;;;;;;;;:26;2579:10;2564:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;2521:90;2636:3;2620:28;;2629:5;2620:28;;;2641:6;2620:28;;;;;;;;;;;;;;;;;;2665:4;2658:11;;1987:689;;;;;;:::o;586:21::-;;;;;;;;;;;;;:::o;2682:113::-;2738:15;2772:8;:16;2781:6;2772:16;;;;;;;;;;;;;;;;2765:23;;2682:113;;;:::o;657:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1373:608::-;1436:12;1830:6;1806:8;:20;1815:10;1806:20;;;;;;;;;;;;;;;;:30;;1798:39;;;;;;;;1871:6;1847:8;:20;1856:10;1847:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1904:6;1887:8;:13;1896:3;1887:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1941:3;1920:33;;1929:10;1920:33;;;1946:6;1920:33;;;;;;;;;;;;;;;;;;1970:4;1963:11;;1373:608;;;;:::o;3012:144::-;3090:17;3124:7;:15;3132:6;3124:15;;;;;;;;;;;;;;;:25;3140:8;3124:25;;;;;;;;;;;;;;;;3117:32;;3012:144;;;;:::o", - "source": "/*\nImplements EIP20 token standard: https://github.com/ethereum/EIPs/issues/20\n.*/\npragma solidity ^0.4.8;\n\nimport \"./EIP20Interface.sol\";\n\ncontract EIP20 is EIP20Interface {\n\n uint256 constant MAX_UINT256 = 2**256 - 1;\n\n /*\n NOTE:\n The following variables are OPTIONAL vanities. One does not have to include them.\n They allow one to customise the token contract & in no way influences the core functionality.\n Some wallets/interfaces might not even bother to look at this information.\n */\n string public name; //fancy name: eg Simon Bucks\n uint8 public decimals; //How many decimals to show.\n string public symbol; //An identifier: eg SBX\n\n function EIP20(\n uint256 _initialAmount,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol\n ) public {\n balances[msg.sender] = _initialAmount; // Give the creator all initial tokens\n totalSupply = _initialAmount; // Update total supply\n name = _tokenName; // Set the name for display purposes\n decimals = _decimalUnits; // Amount of decimals for display purposes\n symbol = _tokenSymbol; // Set the symbol for display purposes\n }\n\n function transfer(address _to, uint256 _value) public returns (bool success) {\n //Default assumes totalSupply can't be over max (2^256 - 1).\n //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.\n //Replace the if with this one instead.\n //require(balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]);\n require(balances[msg.sender] >= _value);\n balances[msg.sender] -= _value;\n balances[_to] += _value;\n Transfer(msg.sender, _to, _value);\n return true;\n }\n\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\n //same as above. Replace this line with the following if you want to protect against wrapping uints.\n //require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]);\n uint256 allowance = allowed[_from][msg.sender];\n require(balances[_from] >= _value && allowance >= _value);\n balances[_to] += _value;\n balances[_from] -= _value;\n if (allowance < MAX_UINT256) {\n allowed[_from][msg.sender] -= _value;\n }\n Transfer(_from, _to, _value);\n return true;\n }\n\n function balanceOf(address _owner) view public returns (uint256 balance) {\n return balances[_owner];\n }\n\n function approve(address _spender, uint256 _value) public returns (bool success) {\n allowed[msg.sender][_spender] = _value;\n Approval(msg.sender, _spender, _value);\n return true;\n }\n\n function allowance(address _owner, address _spender)\n view public returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n mapping (address => uint256) balances;\n mapping (address => mapping (address => uint256)) allowed;\n}\n", - "sourcePath": "tokens/eip20/EIP20.sol", - "ast": { - "absolutePath": "tokens/eip20/EIP20.sol", - "exportedSymbols": { - "EIP20": [ - 3716 - ] - }, - "id": 3717, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3490, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "83:23:6" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "./EIP20Interface.sol", - "id": 3491, - "nodeType": "ImportDirective", - "scope": 3717, - "sourceUnit": 3783, - "src": "108:30:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3492, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "158:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 3493, - "nodeType": "InheritanceSpecifier", - "src": "158:14:6" - } - ], - "contractDependencies": [ - 3782 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3716, - "linearizedBaseContracts": [ - 3716, - 3782 - ], - "name": "EIP20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 3500, - "name": "MAX_UINT256", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "180:41:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 3499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "211:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "214:3:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "211:6:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "220:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "211:10:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3502, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "515:18:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3501, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "515:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3504, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "586:21:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3503, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "586:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3506, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "657:20:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3505, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "657:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3540, - "nodeType": "Block", - "src": "874:493:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3517, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "884:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3520, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "893:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "893:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "884:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3521, - "name": "_initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3508, - "src": "907:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "884:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3523, - "nodeType": "ExpressionStatement", - "src": "884:37:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3524, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3720, - "src": "984:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3525, - "name": "_initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3508, - "src": "998:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "984:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3527, - "nodeType": "ExpressionStatement", - "src": "984:28:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3528, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3502, - "src": "1068:4:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3529, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3510, - "src": "1075:10:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1068:17:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3531, - "nodeType": "ExpressionStatement", - "src": "1068:17:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3532, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3504, - "src": "1166:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3533, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "1177:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1166:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3535, - "nodeType": "ExpressionStatement", - "src": "1166:24:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3536, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3506, - "src": "1270:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3537, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "1279:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1270:21:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3539, - "nodeType": "ExpressionStatement", - "src": "1270:21:6" - } - ] - }, - "documentation": null, - "id": 3541, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "EIP20", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3508, - "name": "_initialAmount", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "749:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "749:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3510, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "781:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3509, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "781:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3512, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "808:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3511, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "808:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3514, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "837:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3513, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "837:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "739:127:6" - }, - "payable": false, - "returnParameters": { - "id": 3516, - "nodeType": "ParameterList", - "parameters": [], - "src": "874:0:6" - }, - "scope": 3716, - "src": "725:642:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3581, - "nodeType": "Block", - "src": "1450:531:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3551, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "1806:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3554, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3552, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "1815:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1806:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3555, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1830:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3550, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1798:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1798:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3558, - "nodeType": "ExpressionStatement", - "src": "1798:39:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3559, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "1847:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3562, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3560, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "1856:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1856:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1847:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3563, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1871:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1847:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3565, - "nodeType": "ExpressionStatement", - "src": "1847:30:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3566, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "1887:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3568, - "indexExpression": { - "argumentTypes": null, - "id": 3567, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1896:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1887:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 3569, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1904:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1887:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3571, - "nodeType": "ExpressionStatement", - "src": "1887:23:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3573, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "1929:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1929:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3575, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1941:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3576, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1946:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3572, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "1920:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1920:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3578, - "nodeType": "ExpressionStatement", - "src": "1920:33:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1970:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3549, - "id": 3580, - "nodeType": "Return", - "src": "1963:11:6" - } - ] - }, - "documentation": null, - "id": 3582, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3546, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3543, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "1391:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1391:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3545, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "1404:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1404:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:29:6" - }, - "payable": false, - "returnParameters": { - "id": 3549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3548, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "1436:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3547, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1436:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1435:14:6" - }, - "scope": 3716, - "src": "1373:608:6", - "stateMutability": "nonpayable", - "superFunction": 3736, - "visibility": "public" - }, - { - "body": { - "id": 3648, - "nodeType": "Block", - "src": "2083:593:6", - "statements": [ - { - "assignments": [ - 3594 - ], - "declarations": [ - { - "constant": false, - "id": 3594, - "name": "allowance", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2330:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2330:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3601, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3595, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "2350:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3597, - "indexExpression": { - "argumentTypes": null, - "id": 3596, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2358:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2350:14:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3600, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3598, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2365:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2365:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2350:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2330:46:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3603, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2394:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3605, - "indexExpression": { - "argumentTypes": null, - "id": 3604, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2403:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2394:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3606, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2413:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2394:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3608, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3594, - "src": "2423:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3609, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2436:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2423:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2394:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3602, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "2386:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2386:57:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3613, - "nodeType": "ExpressionStatement", - "src": "2386:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3614, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2453:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3616, - "indexExpression": { - "argumentTypes": null, - "id": 3615, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3586, - "src": "2462:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2453:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 3617, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2470:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2453:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3619, - "nodeType": "ExpressionStatement", - "src": "2453:23:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3620, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2486:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3622, - "indexExpression": { - "argumentTypes": null, - "id": 3621, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2495:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2486:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3623, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2505:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2486:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3625, - "nodeType": "ExpressionStatement", - "src": "2486:25:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3626, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3594, - "src": "2525:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3627, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3500, - "src": "2537:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2525:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3639, - "nodeType": "IfStatement", - "src": "2521:90:6", - "trueBody": { - "id": 3638, - "nodeType": "Block", - "src": "2550:61:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3629, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "2564:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3633, - "indexExpression": { - "argumentTypes": null, - "id": 3630, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2572:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2564:14:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3634, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3631, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2579:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2579:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2564:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3635, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2594:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2564:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3637, - "nodeType": "ExpressionStatement", - "src": "2564:36:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3641, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2629:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3642, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3586, - "src": "2636:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3643, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2641:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3640, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "2620:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2620:28:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3645, - "nodeType": "ExpressionStatement", - "src": "2620:28:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2665:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3592, - "id": 3647, - "nodeType": "Return", - "src": "2658:11:6" - } - ] - }, - "documentation": null, - "id": 3649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3589, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3584, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2009:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2009:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3586, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2024:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3585, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2024:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3588, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2037:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2037:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2008:44:6" - }, - "payable": false, - "returnParameters": { - "id": 3592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3591, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2069:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3590, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2069:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2068:14:6" - }, - "scope": 3716, - "src": "1987:689:6", - "stateMutability": "nonpayable", - "superFunction": 3747, - "visibility": "public" - }, - { - "body": { - "id": 3660, - "nodeType": "Block", - "src": "2755:40:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3656, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2772:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3658, - "indexExpression": { - "argumentTypes": null, - "id": 3657, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3651, - "src": "2781:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2772:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3655, - "id": 3659, - "nodeType": "Return", - "src": "2765:23:6" - } - ] - }, - "documentation": null, - "id": 3661, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3661, - "src": "2701:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2701:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2700:16:6" - }, - "payable": false, - "returnParameters": { - "id": 3655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3654, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 3661, - "src": "2738:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2738:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:17:6" - }, - "scope": 3716, - "src": "2682:113:6", - "stateMutability": "view", - "superFunction": 3727, - "visibility": "public" - }, - { - "body": { - "id": 3688, - "nodeType": "Block", - "src": "2882:124:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3670, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "2892:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3671, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2900:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2900:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2892:19:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3675, - "indexExpression": { - "argumentTypes": null, - "id": 3673, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "2912:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2892:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3676, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3665, - "src": "2924:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2892:38:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3678, - "nodeType": "ExpressionStatement", - "src": "2892:38:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2949:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2949:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3682, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "2961:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3683, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3665, - "src": "2971:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3679, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "2940:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2940:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3685, - "nodeType": "ExpressionStatement", - "src": "2940:38:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2995:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3669, - "id": 3687, - "nodeType": "Return", - "src": "2988:11:6" - } - ] - }, - "documentation": null, - "id": 3689, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3663, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "2818:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2818:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3665, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "2836:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2836:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2817:34:6" - }, - "payable": false, - "returnParameters": { - "id": 3669, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3668, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "2868:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3667, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2868:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2867:14:6" - }, - "scope": 3716, - "src": "2801:205:6", - "stateMutability": "nonpayable", - "superFunction": 3756, - "visibility": "public" - }, - { - "body": { - "id": 3704, - "nodeType": "Block", - "src": "3109:47:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3698, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "3124:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3700, - "indexExpression": { - "argumentTypes": null, - "id": 3699, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3691, - "src": "3132:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3124:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3702, - "indexExpression": { - "argumentTypes": null, - "id": 3701, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3693, - "src": "3140:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3124:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3697, - "id": 3703, - "nodeType": "Return", - "src": "3117:32:6" - } - ] - }, - "documentation": null, - "id": 3705, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3691, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3705, - "src": "3031:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3031:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3693, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3705, - "src": "3047:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3692, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3047:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3030:34:6" - }, - "payable": false, - "returnParameters": { - "id": 3697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3696, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3705, - "src": "3090:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3090:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3089:19:6" - }, - "scope": 3716, - "src": "3012:144:6", - "stateMutability": "view", - "superFunction": 3765, - "visibility": "public" - }, - { - "constant": false, - "id": 3709, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "3162:37:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3708, - "keyType": { - "id": 3706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3171:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3162:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3182:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3715, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "3205:57:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 3714, - "keyType": { - "id": 3710, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3214:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3205:49:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 3713, - "keyType": { - "id": 3711, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3234:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3225:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3245:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "scope": 3717, - "src": "140:3125:6" - } - ], - "src": "83:3183:6" - }, - "legacyAST": { - "absolutePath": "tokens/eip20/EIP20.sol", - "exportedSymbols": { - "EIP20": [ - 3716 - ] - }, - "id": 3717, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3490, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "83:23:6" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "./EIP20Interface.sol", - "id": 3491, - "nodeType": "ImportDirective", - "scope": 3717, - "sourceUnit": 3783, - "src": "108:30:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3492, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "158:14:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 3493, - "nodeType": "InheritanceSpecifier", - "src": "158:14:6" - } - ], - "contractDependencies": [ - 3782 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3716, - "linearizedBaseContracts": [ - 3716, - 3782 - ], - "name": "EIP20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 3500, - "name": "MAX_UINT256", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "180:41:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "180:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 3499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "211:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "214:3:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "211:6:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "220:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "211:10:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3502, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "515:18:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3501, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "515:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3504, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "586:21:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3503, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "586:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 3506, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "657:20:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3505, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "657:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3540, - "nodeType": "Block", - "src": "874:493:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3517, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "884:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3520, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "893:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "893:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "884:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3521, - "name": "_initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3508, - "src": "907:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "884:37:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3523, - "nodeType": "ExpressionStatement", - "src": "884:37:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3524, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3720, - "src": "984:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3525, - "name": "_initialAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3508, - "src": "998:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "984:28:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3527, - "nodeType": "ExpressionStatement", - "src": "984:28:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3528, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3502, - "src": "1068:4:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3529, - "name": "_tokenName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3510, - "src": "1075:10:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1068:17:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3531, - "nodeType": "ExpressionStatement", - "src": "1068:17:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3532, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3504, - "src": "1166:8:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3533, - "name": "_decimalUnits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "1177:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1166:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3535, - "nodeType": "ExpressionStatement", - "src": "1166:24:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3536, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3506, - "src": "1270:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3537, - "name": "_tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "1279:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1270:21:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3539, - "nodeType": "ExpressionStatement", - "src": "1270:21:6" - } - ] - }, - "documentation": null, - "id": 3541, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "EIP20", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3508, - "name": "_initialAmount", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "749:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "749:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3510, - "name": "_tokenName", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "781:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3509, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "781:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3512, - "name": "_decimalUnits", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "808:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3511, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "808:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3514, - "name": "_tokenSymbol", - "nodeType": "VariableDeclaration", - "scope": 3541, - "src": "837:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3513, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "837:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "739:127:6" - }, - "payable": false, - "returnParameters": { - "id": 3516, - "nodeType": "ParameterList", - "parameters": [], - "src": "874:0:6" - }, - "scope": 3716, - "src": "725:642:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3581, - "nodeType": "Block", - "src": "1450:531:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3551, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "1806:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3554, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3552, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "1815:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1806:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3555, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1830:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1806:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3550, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "1798:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1798:39:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3558, - "nodeType": "ExpressionStatement", - "src": "1798:39:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3559, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "1847:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3562, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3560, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "1856:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1856:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1847:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3563, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1871:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1847:30:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3565, - "nodeType": "ExpressionStatement", - "src": "1847:30:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3566, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "1887:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3568, - "indexExpression": { - "argumentTypes": null, - "id": 3567, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1896:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1887:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 3569, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1904:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1887:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3571, - "nodeType": "ExpressionStatement", - "src": "1887:23:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3573, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "1929:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1929:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3575, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1941:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3576, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "1946:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3572, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "1920:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1920:33:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3578, - "nodeType": "ExpressionStatement", - "src": "1920:33:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1970:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3549, - "id": 3580, - "nodeType": "Return", - "src": "1963:11:6" - } - ] - }, - "documentation": null, - "id": 3582, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3546, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3543, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "1391:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1391:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3545, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "1404:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1404:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:29:6" - }, - "payable": false, - "returnParameters": { - "id": 3549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3548, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "1436:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3547, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1436:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1435:14:6" - }, - "scope": 3716, - "src": "1373:608:6", - "stateMutability": "nonpayable", - "superFunction": 3736, - "visibility": "public" - }, - { - "body": { - "id": 3648, - "nodeType": "Block", - "src": "2083:593:6", - "statements": [ - { - "assignments": [ - 3594 - ], - "declarations": [ - { - "constant": false, - "id": 3594, - "name": "allowance", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2330:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3593, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2330:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3601, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3595, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "2350:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3597, - "indexExpression": { - "argumentTypes": null, - "id": 3596, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2358:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2350:14:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3600, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3598, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2365:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2365:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2350:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2330:46:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3603, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2394:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3605, - "indexExpression": { - "argumentTypes": null, - "id": 3604, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2403:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2394:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3606, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2413:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2394:25:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3608, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3594, - "src": "2423:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3609, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2436:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2423:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2394:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3602, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "2386:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2386:57:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3613, - "nodeType": "ExpressionStatement", - "src": "2386:57:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3614, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2453:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3616, - "indexExpression": { - "argumentTypes": null, - "id": 3615, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3586, - "src": "2462:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2453:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 3617, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2470:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2453:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3619, - "nodeType": "ExpressionStatement", - "src": "2453:23:6" - }, - { - "expression": { - "argumentTypes": null, - "id": 3624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3620, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2486:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3622, - "indexExpression": { - "argumentTypes": null, - "id": 3621, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2495:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2486:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3623, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2505:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2486:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3625, - "nodeType": "ExpressionStatement", - "src": "2486:25:6" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3626, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3594, - "src": "2525:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3627, - "name": "MAX_UINT256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3500, - "src": "2537:11:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2525:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3639, - "nodeType": "IfStatement", - "src": "2521:90:6", - "trueBody": { - "id": 3638, - "nodeType": "Block", - "src": "2550:61:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3629, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "2564:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3633, - "indexExpression": { - "argumentTypes": null, - "id": 3630, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2572:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2564:14:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3634, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3631, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2579:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2579:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2564:26:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 3635, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2594:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2564:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3637, - "nodeType": "ExpressionStatement", - "src": "2564:36:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3641, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3584, - "src": "2629:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3642, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3586, - "src": "2636:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3643, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3588, - "src": "2641:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3640, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "2620:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2620:28:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3645, - "nodeType": "ExpressionStatement", - "src": "2620:28:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2665:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3592, - "id": 3647, - "nodeType": "Return", - "src": "2658:11:6" - } - ] - }, - "documentation": null, - "id": 3649, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3589, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3584, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2009:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2009:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3586, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2024:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3585, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2024:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3588, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2037:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2037:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2008:44:6" - }, - "payable": false, - "returnParameters": { - "id": 3592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3591, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "2069:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3590, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2069:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2068:14:6" - }, - "scope": 3716, - "src": "1987:689:6", - "stateMutability": "nonpayable", - "superFunction": 3747, - "visibility": "public" - }, - { - "body": { - "id": 3660, - "nodeType": "Block", - "src": "2755:40:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3656, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3709, - "src": "2772:8:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3658, - "indexExpression": { - "argumentTypes": null, - "id": 3657, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3651, - "src": "2781:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2772:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3655, - "id": 3659, - "nodeType": "Return", - "src": "2765:23:6" - } - ] - }, - "documentation": null, - "id": 3661, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3652, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3651, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3661, - "src": "2701:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2701:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2700:16:6" - }, - "payable": false, - "returnParameters": { - "id": 3655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3654, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 3661, - "src": "2738:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2738:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2737:17:6" - }, - "scope": 3716, - "src": "2682:113:6", - "stateMutability": "view", - "superFunction": 3727, - "visibility": "public" - }, - { - "body": { - "id": 3688, - "nodeType": "Block", - "src": "2882:124:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3670, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "2892:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3671, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2900:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2900:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2892:19:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3675, - "indexExpression": { - "argumentTypes": null, - "id": 3673, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "2912:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2892:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3676, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3665, - "src": "2924:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2892:38:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3678, - "nodeType": "ExpressionStatement", - "src": "2892:38:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "2949:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2949:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3682, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "2961:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3683, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3665, - "src": "2971:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3679, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3781, - "src": "2940:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2940:38:6", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3685, - "nodeType": "ExpressionStatement", - "src": "2940:38:6" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2995:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3669, - "id": 3687, - "nodeType": "Return", - "src": "2988:11:6" - } - ] - }, - "documentation": null, - "id": 3689, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3663, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "2818:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2818:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3665, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "2836:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2836:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2817:34:6" - }, - "payable": false, - "returnParameters": { - "id": 3669, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3668, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "2868:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3667, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2868:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2867:14:6" - }, - "scope": 3716, - "src": "2801:205:6", - "stateMutability": "nonpayable", - "superFunction": 3756, - "visibility": "public" - }, - { - "body": { - "id": 3704, - "nodeType": "Block", - "src": "3109:47:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3698, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3715, - "src": "3124:7:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3700, - "indexExpression": { - "argumentTypes": null, - "id": 3699, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3691, - "src": "3132:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3124:15:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3702, - "indexExpression": { - "argumentTypes": null, - "id": 3701, - "name": "_spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3693, - "src": "3140:8:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3124:25:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3697, - "id": 3703, - "nodeType": "Return", - "src": "3117:32:6" - } - ] - }, - "documentation": null, - "id": 3705, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3691, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3705, - "src": "3031:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3031:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3693, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3705, - "src": "3047:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3692, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3047:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3030:34:6" - }, - "payable": false, - "returnParameters": { - "id": 3697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3696, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3705, - "src": "3090:17:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3090:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3089:19:6" - }, - "scope": 3716, - "src": "3012:144:6", - "stateMutability": "view", - "superFunction": 3765, - "visibility": "public" - }, - { - "constant": false, - "id": 3709, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "3162:37:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3708, - "keyType": { - "id": 3706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3171:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3162:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3182:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3715, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 3716, - "src": "3205:57:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 3714, - "keyType": { - "id": 3710, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3214:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3205:49:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 3713, - "keyType": { - "id": 3711, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3234:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3225:28:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3245:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "scope": 3717, - "src": "140:3125:6" - } - ], - "src": "83:3183:6" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.103Z" -} \ No newline at end of file diff --git a/build/contracts/EIP20Interface.json b/build/contracts/EIP20Interface.json deleted file mode 100644 index a8704a8..0000000 --- a/build/contracts/EIP20Interface.json +++ /dev/null @@ -1,1799 +0,0 @@ -{ - "contractName": "EIP20Interface", - "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": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "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": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "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": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// Abstract contract for the full ERC 20 Token standard\n// https://github.com/ethereum/EIPs/issues/20\npragma solidity ^0.4.8;\n\ncontract EIP20Interface {\n /* This is a slight change to the ERC20 base standard.\n function totalSupply() constant returns (uint256 supply);\n is replaced with:\n uint256 public totalSupply;\n This automatically creates a getter function for the totalSupply.\n This is moved to the base contract since public getter functions are not\n currently recognised as an implementation of the matching abstract\n function by the compiler.\n */\n /// total amount of tokens\n uint256 public totalSupply;\n\n /// @param _owner The address from which the balance will be retrieved\n /// @return The balance\n function balanceOf(address _owner) public view returns (uint256 balance);\n\n /// @notice send `_value` token to `_to` from `msg.sender`\n /// @param _to The address of the recipient\n /// @param _value The amount of token to be transferred\n /// @return Whether the transfer was successful or not\n function transfer(address _to, uint256 _value) public returns (bool success);\n\n /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n /// @param _from The address of the sender\n /// @param _to The address of the recipient\n /// @param _value The amount of token to be transferred\n /// @return Whether the transfer was successful or not\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);\n\n /// @notice `msg.sender` approves `_spender` to spend `_value` tokens\n /// @param _spender The address of the account able to transfer the tokens\n /// @param _value The amount of tokens to be approved for transfer\n /// @return Whether the approval was successful or not\n function approve(address _spender, uint256 _value) public returns (bool success);\n\n /// @param _owner The address of the account owning tokens\n /// @param _spender The address of the account able to transfer the tokens\n /// @return Amount of remaining tokens allowed to spent\n function allowance(address _owner, address _spender) public view returns (uint256 remaining);\n\n event Transfer(address indexed _from, address indexed _to, uint256 _value);\n event Approval(address indexed _owner, address indexed _spender, uint256 _value);\n}\n", - "sourcePath": "tokens/eip20/EIP20Interface.sol", - "ast": { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "exportedSymbols": { - "EIP20Interface": [ - 3782 - ] - }, - "id": 3783, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3718, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "102:23:7" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 3782, - "linearizedBaseContracts": [ - 3782 - ], - "name": "EIP20Interface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3720, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 3782, - "src": "618:26:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "618:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@param _owner The address from which the balance will be retrieved\n @return The balance", - "id": 3727, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3722, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3727, - "src": "773:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3721, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "772:16:7" - }, - "payable": false, - "returnParameters": { - "id": 3726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3725, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 3727, - "src": "810:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "810:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "809:17:7" - }, - "scope": 3782, - "src": "754:73:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@notice send `_value` token to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not", - "id": 3736, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3729, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3736, - "src": "1081:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1081:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3731, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3736, - "src": "1094:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1094:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1080:29:7" - }, - "payable": false, - "returnParameters": { - "id": 3735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3734, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3736, - "src": "1126:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3733, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1126:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1125:14:7" - }, - "scope": 3782, - "src": "1063:77:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n @param _from The address of the sender\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not", - "id": 3747, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3738, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1483:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1483:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3740, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1498:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3739, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1498:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3742, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1511:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1482:44:7" - }, - "payable": false, - "returnParameters": { - "id": 3746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3745, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1543:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3744, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1543:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1542:14:7" - }, - "scope": 3782, - "src": "1461:96:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_value` tokens\n @param _spender The address of the account able to transfer the tokens\n @param _value The amount of tokens to be approved for transfer\n @return Whether the approval was successful or not", - "id": 3756, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3749, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3756, - "src": "1863:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1863:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3751, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3756, - "src": "1881:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1881:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1862:34:7" - }, - "payable": false, - "returnParameters": { - "id": 3755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3754, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3756, - "src": "1913:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1913:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1912:14:7" - }, - "scope": 3782, - "src": "1846:81:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@param _owner The address of the account owning tokens\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens allowed to spent", - "id": 3765, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3761, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3758, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3765, - "src": "2154:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2154:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3760, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3765, - "src": "2170:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3759, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2170:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2153:34:7" - }, - "payable": false, - "returnParameters": { - "id": 3764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3763, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3765, - "src": "2209:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2209:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2208:19:7" - }, - "scope": 3782, - "src": "2135:93:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 3773, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 3772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3767, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "2249:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3769, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "2272:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2272:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3771, - "indexed": false, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "2293:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2293:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:60:7" - }, - "src": "2234:75:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 3781, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 3780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3775, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3781, - "src": "2329:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2329:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3777, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3781, - "src": "2353:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2353:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3779, - "indexed": false, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3781, - "src": "2379:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2379:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2328:66:7" - }, - "src": "2314:81:7" - } - ], - "scope": 3783, - "src": "127:2270:7" - } - ], - "src": "102:2296:7" - }, - "legacyAST": { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "exportedSymbols": { - "EIP20Interface": [ - 3782 - ] - }, - "id": 3783, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3718, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "102:23:7" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 3782, - "linearizedBaseContracts": [ - 3782 - ], - "name": "EIP20Interface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3720, - "name": "totalSupply", - "nodeType": "VariableDeclaration", - "scope": 3782, - "src": "618:26:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "618:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@param _owner The address from which the balance will be retrieved\n @return The balance", - "id": 3727, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3722, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3727, - "src": "773:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3721, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "772:16:7" - }, - "payable": false, - "returnParameters": { - "id": 3726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3725, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 3727, - "src": "810:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "810:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "809:17:7" - }, - "scope": 3782, - "src": "754:73:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@notice send `_value` token to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not", - "id": 3736, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3729, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3736, - "src": "1081:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1081:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3731, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3736, - "src": "1094:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1094:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1080:29:7" - }, - "payable": false, - "returnParameters": { - "id": 3735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3734, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3736, - "src": "1126:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3733, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1126:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1125:14:7" - }, - "scope": 3782, - "src": "1063:77:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n @param _from The address of the sender\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not", - "id": 3747, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3738, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1483:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1483:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3740, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1498:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3739, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1498:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3742, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1511:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1511:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1482:44:7" - }, - "payable": false, - "returnParameters": { - "id": 3746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3745, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3747, - "src": "1543:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3744, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1543:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1542:14:7" - }, - "scope": 3782, - "src": "1461:96:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@notice `msg.sender` approves `_spender` to spend `_value` tokens\n @param _spender The address of the account able to transfer the tokens\n @param _value The amount of tokens to be approved for transfer\n @return Whether the approval was successful or not", - "id": 3756, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3749, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3756, - "src": "1863:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1863:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3751, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3756, - "src": "1881:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1881:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1862:34:7" - }, - "payable": false, - "returnParameters": { - "id": 3755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3754, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 3756, - "src": "1913:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1913:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1912:14:7" - }, - "scope": 3782, - "src": "1846:81:7", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": "@param _owner The address of the account owning tokens\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens allowed to spent", - "id": 3765, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3761, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3758, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3765, - "src": "2154:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2154:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3760, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3765, - "src": "2170:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3759, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2170:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2153:34:7" - }, - "payable": false, - "returnParameters": { - "id": 3764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3763, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 3765, - "src": "2209:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2209:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2208:19:7" - }, - "scope": 3782, - "src": "2135:93:7", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 3773, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 3772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3767, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "2249:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3769, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "2272:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2272:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3771, - "indexed": false, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "2293:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2293:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:60:7" - }, - "src": "2234:75:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 3781, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 3780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3775, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3781, - "src": "2329:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2329:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3777, - "indexed": true, - "name": "_spender", - "nodeType": "VariableDeclaration", - "scope": 3781, - "src": "2353:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2353:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3779, - "indexed": false, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 3781, - "src": "2379:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2379:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2328:66:7" - }, - "src": "2314:81:7" - } - ], - "scope": 3783, - "src": "127:2270:7" - } - ], - "src": "102:2296:7" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.105Z" -} \ No newline at end of file diff --git a/build/contracts/PLCRVoting.json b/build/contracts/PLCRVoting.json deleted file mode 100644 index 589570f..0000000 --- a/build/contracts/PLCRVoting.json +++ /dev/null @@ -1,28539 +0,0 @@ -{ - "contractName": "PLCRVoting", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "INITIAL_POLL_NONCE", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "voteTokenBalance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "pollMap", - "outputs": [ - { - "name": "commitEndDate", - "type": "uint256" - }, - { - "name": "revealEndDate", - "type": "uint256" - }, - { - "name": "voteQuorum", - "type": "uint256" - }, - { - "name": "votesFor", - "type": "uint256" - }, - { - "name": "votesAgainst", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pollNonce", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_tokenAddr", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "pollID", - "type": "uint256" - }, - { - "indexed": false, - "name": "numTokens", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - } - ], - "name": "_VoteCommitted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "pollID", - "type": "uint256" - }, - { - "indexed": false, - "name": "numTokens", - "type": "uint256" - }, - { - "indexed": false, - "name": "votesFor", - "type": "uint256" - }, - { - "indexed": false, - "name": "votesAgainst", - "type": "uint256" - }, - { - "indexed": true, - "name": "choice", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - } - ], - "name": "_VoteRevealed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "voteQuorum", - "type": "uint256" - }, - { - "indexed": false, - "name": "commitEndDate", - "type": "uint256" - }, - { - "indexed": false, - "name": "revealEndDate", - "type": "uint256" - }, - { - "indexed": true, - "name": "pollID", - "type": "uint256" - }, - { - "indexed": true, - "name": "creator", - "type": "address" - } - ], - "name": "_PollCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "numTokens", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - } - ], - "name": "_VotingRightsGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "numTokens", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - } - ], - "name": "_VotingRightsWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "pollID", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - } - ], - "name": "_TokensRescued", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_numTokens", - "type": "uint256" - } - ], - "name": "requestVotingRights", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_numTokens", - "type": "uint256" - } - ], - "name": "withdrawVotingRights", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "rescueTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - }, - { - "name": "_secretHash", - "type": "bytes32" - }, - { - "name": "_numTokens", - "type": "uint256" - }, - { - "name": "_prevPollID", - "type": "uint256" - } - ], - "name": "commitVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_prevID", - "type": "uint256" - }, - { - "name": "_nextID", - "type": "uint256" - }, - { - "name": "_voter", - "type": "address" - }, - { - "name": "_numTokens", - "type": "uint256" - } - ], - "name": "validPosition", - "outputs": [ - { - "name": "valid", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - }, - { - "name": "_voteOption", - "type": "uint256" - }, - { - "name": "_salt", - "type": "uint256" - } - ], - "name": "revealVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_pollID", - "type": "uint256" - }, - { - "name": "_salt", - "type": "uint256" - } - ], - "name": "getNumPassingTokens", - "outputs": [ - { - "name": "correctVotes", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_voteQuorum", - "type": "uint256" - }, - { - "name": "_commitDuration", - "type": "uint256" - }, - { - "name": "_revealDuration", - "type": "uint256" - } - ], - "name": "startPoll", - "outputs": [ - { - "name": "pollID", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "isPassed", - "outputs": [ - { - "name": "passed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "getTotalNumberOfTokensForWinningOption", - "outputs": [ - { - "name": "numTokens", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "pollEnded", - "outputs": [ - { - "name": "ended", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "commitPeriodActive", - "outputs": [ - { - "name": "active", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "revealPeriodActive", - "outputs": [ - { - "name": "active", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "didCommit", - "outputs": [ - { - "name": "committed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "didReveal", - "outputs": [ - { - "name": "revealed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "pollExists", - "outputs": [ - { - "name": "exists", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "getCommitHash", - "outputs": [ - { - "name": "commitHash", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "getNumTokens", - "outputs": [ - { - "name": "numTokens", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - } - ], - "name": "getLastNode", - "outputs": [ - { - "name": "pollID", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - } - ], - "name": "getLockedTokens", - "outputs": [ - { - "name": "numTokens", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_numTokens", - "type": "uint256" - }, - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "getInsertPointForNumTokens", - "outputs": [ - { - "name": "prevNode", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_terminationDate", - "type": "uint256" - } - ], - "name": "isExpired", - "outputs": [ - { - "name": "expired", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_user", - "type": "address" - }, - { - "name": "_pollID", - "type": "uint256" - } - ], - "name": "attrUUID", - "outputs": [ - { - "name": "UUID", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5060405160208061280e8339810180604052810190808051906020019092919050505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008081905550506127838061008b6000396000f30060806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101b05780632c052031146101db57806332ed3d60146102465780633b9302941461029b578063427fa1d2146102f2578063441c77c014610349578063494031831461038e5780636148fed5146103d35780636b2d95d4146104305780636cbf9c5e146104875780637f97e836146104d6578063819b02931461053b57806388d21ff3146105b457806397508f36146105f95780639760356014610624578063a1103f3714610651578063a25236fe146106ba578063a4439dc5146106e7578063aa7ca4641461072c578063b11d8bb814610791578063b43bd069146107d2578063d13820921461083d578063d901402b1461089e578063d9548e5314610907578063e7b1d43c1461094c578063ee68483014610979578063fc0c546a146109be575b600080fd5b34801561017b57600080fd5b5061019a60048036038101908080359060200190929190505050610a15565b6040518082815260200191505060405180910390f35b3480156101bc57600080fd5b506101c5610a76565b6040518082815260200191505060405180910390f35b3480156101e757600080fd5b50610230600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610a7b565b6040518082815260200191505060405180910390f35b34801561025257600080fd5b50610285600480360381019080803590602001909291908035906020019092919080359060200190929190505050610cba565b6040518082815260200191505060405180910390f35b3480156102a757600080fd5b506102dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dd7565b6040518082815260200191505060405180910390f35b3480156102fe57600080fd5b50610333600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610def565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610ee7565b604051808215151515815260200191505060405180910390f35b34801561039a57600080fd5b506103b960048036038101908080359060200190929190505050610f36565b604051808215151515815260200191505060405180910390f35b3480156103df57600080fd5b506103fe60048036038101908080359060200190929190505050610fc9565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34801561043c57600080fd5b50610471600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fff565b6040518082815260200191505060405180910390f35b34801561049357600080fd5b506104d4600480360381019080803590602001909291908035600019169060200190929190803590602001909291908035906020019092919050505061101a565b005b3480156104e257600080fd5b50610521600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f3565b604051808215151515815260200191505060405180910390f35b34801561054757600080fd5b5061059a6004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611772565b604051808215151515815260200191505060405180910390f35b3480156105c057600080fd5b506105df600480360381019080803590602001909291905050506117b6565b604051808215151515815260200191505060405180910390f35b34801561060557600080fd5b5061060e6117d1565b6040518082815260200191505060405180910390f35b34801561063057600080fd5b5061064f600480360381019080803590602001909291905050506117d7565b005b34801561065d57600080fd5b5061069c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a0c565b60405180826000191660001916815260200191505060405180910390f35b3480156106c657600080fd5b506106e560048036038101908080359060200190929190505050611a6f565b005b3480156106f357600080fd5b5061071260048036038101908080359060200190929190505050611d52565b604051808215151515815260200191505060405180910390f35b34801561073857600080fd5b50610777600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d8f565b604051808215151515815260200191505060405180910390f35b34801561079d57600080fd5b506107d0600480360381019080803590602001909291908035906020019092919080359060200190929190505050611e0e565b005b3480156107de57600080fd5b50610827600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612164565b6040518082815260200191505060405180910390f35b34801561084957600080fd5b50610888600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061225e565b6040518082815260200191505060405180910390f35b3480156108aa57600080fd5b506108e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612363565b60405180826000191660001916815260200191505060405180910390f35b34801561091357600080fd5b506109326004803603810190808035906020019092919050505061246b565b604051808215151515815260200191505060405180910390f35b34801561095857600080fd5b5061097760048036038101908080359060200190929190505050612477565b005b34801561098557600080fd5b506109a46004803603810190808035906020019092919050505061268e565b604051808215151515815260200191505060405180910390f35b3480156109ca57600080fd5b506109d36126ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000610a208261268e565b1515610a2b57600080fd5b610a3482610f36565b15610a575760016000838152602001908152602001600020600301549050610a71565b600160008381526020019081526020016000206004015490505b919050565b600081565b6000806000610a8986610def565b9150610a95868361225e565b90505b600082141515610cad57610aac868361225e565b90508481111515610bb85783821415610bb057600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610b7257600080fd5b505af4158015610b86573d6000803e3d6000fd5b505050506040513d6020811015610b9c57600080fd5b810190808051906020019092919050505091505b819250610cb1565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610c6b57600080fd5b505af4158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509150610a98565b8192505b50509392505050565b6000806000600160005401600081905550610cde85426126f090919063ffffffff16565b9150610cf384836126f090919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610ea557600080fd5b505af4158015610eb9573d6000803e3d6000fd5b505050506040513d6020811015610ecf57600080fd5b81019080805190602001909291905050509050919050565b6000610ef2826117b6565b1515610efd57600080fd5b610f1c600160008481526020019081526020016000206001015461246b565b158015610f2f5750610f2d82611d52565b155b9050919050565b6000610f40612727565b610f498361268e565b1515610f5457600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b60006110138261100e84610def565b61225e565b9050919050565b60008061102686611d52565b151561103157600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561107f57600080fd5b6000861415151561108f57600080fd5b60008314806111885750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561114c57600080fd5b505af4158015611160573d6000803e3d6000fd5b505050506040513d602081101561117657600080fd5b81019080805190602001909291905050505b151561119357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561124657600080fd5b505af415801561125a573d6000803e3d6000fd5b505050506040513d602081101561127057600080fd5b81019080805190602001909291905050509150858214611290578161137f565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561134357600080fd5b505af4158015611357573d6000803e3d6000fd5b505050506040513d602081101561136d57600080fd5b81019080805190602001909291905050505b915061138d83833387611772565b151561139857600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b15801561145b57600080fd5b505af415801561146f573d6000803e3d6000fd5b5050505061147d3387611a0c565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b50505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561161957600080fd5b505af415801561162d573d6000803e3d6000fd5b50505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006116fe826117b6565b151561170957600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000611781858861225e565b8410159150611790858761225e565b8411158061179e5750600086145b90508180156117aa5750805b92505050949350505050565b60008082141580156117ca57506000548211155b9050919050565b60005481565b6117f6600160008381526020019081526020016000206001015461246b565b151561180157600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156118b457600080fd5b505af41580156118c8573d6000803e3d6000fd5b505050506040513d60208110156118de57600080fd5b810190808051906020019092919050505015156118fa57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1580156119ad57600080fd5b505af41580156119c1573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506040513d6020811015611b5757600080fd5b810190808051906020019092919050505010151515611b7557600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611cbb57600080fd5b505af1158015611ccf573d6000803e3d6000fd5b505050506040513d6020811015611ce557600080fd5b81019080805190602001909291905050501515611d0157600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611d5d826117b6565b1515611d6857600080fd5b611d87600160008481526020019081526020016000206000015461246b565b159050919050565b6000611d9a826117b6565b1515611da557600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611e1984610ee7565b1515611e2457600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611e9057600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611efd57600080fd5b611f073385612363565b6000191683836040518083815260200182815260200192505050604051809103902060001916141515611f3957600080fd5b611f43338561225e565b90506001831415611f7757806001600086815260200190815260200160002060030160008282540192505081905550611f9c565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b15801561204f57600080fd5b505af4158015612063573d6000803e3d6000fd5b50505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b6000806000806121738661268e565b151561217e57600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156121ea57600080fd5b6121f386610f36565b6121fe576000612201565b60015b60ff16925082856040518083815260200182815260200192505050604051809103902091506122308787612363565b90508060001916826000191614151561224857600080fd5b612252878761225e565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c90916122888686611a0c565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561232057600080fd5b505af4158015612334573d6000803e3d6000fd5b505050506040513d602081101561234a57600080fd5b8101908080519060200190929190505050905092915050565b6000600473__AttributeStore________________________6350389f5c909161238d8686611a0c565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561242557600080fd5b505af4158015612439573d6000803e3d6000fd5b505050506040513d602081101561244f57600080fd5b8101908080519060200190929190505050600102905092915050565b60008142119050919050565b60006124d361248533610fff565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270e90919063ffffffff16565b90508181101515156124e457600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156125f657600080fd5b505af115801561260a573d6000803e3d6000fd5b505050506040513d602081101561262057600080fd5b8101908080519060200190929190505050151561263c57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b6000612699826117b6565b15156126a457600080fd5b6126c3600160008481526020019081526020016000206001015461246b565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015151561270457fe5b8091505092915050565b600082821115151561271c57fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820aa57ae7217b7443d866dca2b49bcb0eaffb52382a2478e36ab0913e653d7d1d90029", - "deployedBytecode": "0x60806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101b05780632c052031146101db57806332ed3d60146102465780633b9302941461029b578063427fa1d2146102f2578063441c77c014610349578063494031831461038e5780636148fed5146103d35780636b2d95d4146104305780636cbf9c5e146104875780637f97e836146104d6578063819b02931461053b57806388d21ff3146105b457806397508f36146105f95780639760356014610624578063a1103f3714610651578063a25236fe146106ba578063a4439dc5146106e7578063aa7ca4641461072c578063b11d8bb814610791578063b43bd069146107d2578063d13820921461083d578063d901402b1461089e578063d9548e5314610907578063e7b1d43c1461094c578063ee68483014610979578063fc0c546a146109be575b600080fd5b34801561017b57600080fd5b5061019a60048036038101908080359060200190929190505050610a15565b6040518082815260200191505060405180910390f35b3480156101bc57600080fd5b506101c5610a76565b6040518082815260200191505060405180910390f35b3480156101e757600080fd5b50610230600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610a7b565b6040518082815260200191505060405180910390f35b34801561025257600080fd5b50610285600480360381019080803590602001909291908035906020019092919080359060200190929190505050610cba565b6040518082815260200191505060405180910390f35b3480156102a757600080fd5b506102dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dd7565b6040518082815260200191505060405180910390f35b3480156102fe57600080fd5b50610333600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610def565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610ee7565b604051808215151515815260200191505060405180910390f35b34801561039a57600080fd5b506103b960048036038101908080359060200190929190505050610f36565b604051808215151515815260200191505060405180910390f35b3480156103df57600080fd5b506103fe60048036038101908080359060200190929190505050610fc9565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34801561043c57600080fd5b50610471600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fff565b6040518082815260200191505060405180910390f35b34801561049357600080fd5b506104d4600480360381019080803590602001909291908035600019169060200190929190803590602001909291908035906020019092919050505061101a565b005b3480156104e257600080fd5b50610521600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f3565b604051808215151515815260200191505060405180910390f35b34801561054757600080fd5b5061059a6004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611772565b604051808215151515815260200191505060405180910390f35b3480156105c057600080fd5b506105df600480360381019080803590602001909291905050506117b6565b604051808215151515815260200191505060405180910390f35b34801561060557600080fd5b5061060e6117d1565b6040518082815260200191505060405180910390f35b34801561063057600080fd5b5061064f600480360381019080803590602001909291905050506117d7565b005b34801561065d57600080fd5b5061069c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a0c565b60405180826000191660001916815260200191505060405180910390f35b3480156106c657600080fd5b506106e560048036038101908080359060200190929190505050611a6f565b005b3480156106f357600080fd5b5061071260048036038101908080359060200190929190505050611d52565b604051808215151515815260200191505060405180910390f35b34801561073857600080fd5b50610777600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d8f565b604051808215151515815260200191505060405180910390f35b34801561079d57600080fd5b506107d0600480360381019080803590602001909291908035906020019092919080359060200190929190505050611e0e565b005b3480156107de57600080fd5b50610827600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612164565b6040518082815260200191505060405180910390f35b34801561084957600080fd5b50610888600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061225e565b6040518082815260200191505060405180910390f35b3480156108aa57600080fd5b506108e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612363565b60405180826000191660001916815260200191505060405180910390f35b34801561091357600080fd5b506109326004803603810190808035906020019092919050505061246b565b604051808215151515815260200191505060405180910390f35b34801561095857600080fd5b5061097760048036038101908080359060200190929190505050612477565b005b34801561098557600080fd5b506109a46004803603810190808035906020019092919050505061268e565b604051808215151515815260200191505060405180910390f35b3480156109ca57600080fd5b506109d36126ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000610a208261268e565b1515610a2b57600080fd5b610a3482610f36565b15610a575760016000838152602001908152602001600020600301549050610a71565b600160008381526020019081526020016000206004015490505b919050565b600081565b6000806000610a8986610def565b9150610a95868361225e565b90505b600082141515610cad57610aac868361225e565b90508481111515610bb85783821415610bb057600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610b7257600080fd5b505af4158015610b86573d6000803e3d6000fd5b505050506040513d6020811015610b9c57600080fd5b810190808051906020019092919050505091505b819250610cb1565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610c6b57600080fd5b505af4158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509150610a98565b8192505b50509392505050565b6000806000600160005401600081905550610cde85426126f090919063ffffffff16565b9150610cf384836126f090919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610ea557600080fd5b505af4158015610eb9573d6000803e3d6000fd5b505050506040513d6020811015610ecf57600080fd5b81019080805190602001909291905050509050919050565b6000610ef2826117b6565b1515610efd57600080fd5b610f1c600160008481526020019081526020016000206001015461246b565b158015610f2f5750610f2d82611d52565b155b9050919050565b6000610f40612727565b610f498361268e565b1515610f5457600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b60006110138261100e84610def565b61225e565b9050919050565b60008061102686611d52565b151561103157600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561107f57600080fd5b6000861415151561108f57600080fd5b60008314806111885750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561114c57600080fd5b505af4158015611160573d6000803e3d6000fd5b505050506040513d602081101561117657600080fd5b81019080805190602001909291905050505b151561119357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561124657600080fd5b505af415801561125a573d6000803e3d6000fd5b505050506040513d602081101561127057600080fd5b81019080805190602001909291905050509150858214611290578161137f565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561134357600080fd5b505af4158015611357573d6000803e3d6000fd5b505050506040513d602081101561136d57600080fd5b81019080805190602001909291905050505b915061138d83833387611772565b151561139857600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b15801561145b57600080fd5b505af415801561146f573d6000803e3d6000fd5b5050505061147d3387611a0c565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b50505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561161957600080fd5b505af415801561162d573d6000803e3d6000fd5b50505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006116fe826117b6565b151561170957600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000611781858861225e565b8410159150611790858761225e565b8411158061179e5750600086145b90508180156117aa5750805b92505050949350505050565b60008082141580156117ca57506000548211155b9050919050565b60005481565b6117f6600160008381526020019081526020016000206001015461246b565b151561180157600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156118b457600080fd5b505af41580156118c8573d6000803e3d6000fd5b505050506040513d60208110156118de57600080fd5b810190808051906020019092919050505015156118fa57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1580156119ad57600080fd5b505af41580156119c1573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506040513d6020811015611b5757600080fd5b810190808051906020019092919050505010151515611b7557600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611cbb57600080fd5b505af1158015611ccf573d6000803e3d6000fd5b505050506040513d6020811015611ce557600080fd5b81019080805190602001909291905050501515611d0157600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611d5d826117b6565b1515611d6857600080fd5b611d87600160008481526020019081526020016000206000015461246b565b159050919050565b6000611d9a826117b6565b1515611da557600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611e1984610ee7565b1515611e2457600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611e9057600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611efd57600080fd5b611f073385612363565b6000191683836040518083815260200182815260200192505050604051809103902060001916141515611f3957600080fd5b611f43338561225e565b90506001831415611f7757806001600086815260200190815260200160002060030160008282540192505081905550611f9c565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b15801561204f57600080fd5b505af4158015612063573d6000803e3d6000fd5b50505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b6000806000806121738661268e565b151561217e57600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156121ea57600080fd5b6121f386610f36565b6121fe576000612201565b60015b60ff16925082856040518083815260200182815260200192505050604051809103902091506122308787612363565b90508060001916826000191614151561224857600080fd5b612252878761225e565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c90916122888686611a0c565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561232057600080fd5b505af4158015612334573d6000803e3d6000fd5b505050506040513d602081101561234a57600080fd5b8101908080519060200190929190505050905092915050565b6000600473__AttributeStore________________________6350389f5c909161238d8686611a0c565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561242557600080fd5b505af4158015612439573d6000803e3d6000fd5b505050506040513d602081101561244f57600080fd5b8101908080519060200190929190505050600102905092915050565b60008142119050919050565b60006124d361248533610fff565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270e90919063ffffffff16565b90508181101515156124e457600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156125f657600080fd5b505af115801561260a573d6000803e3d6000fd5b505050506040513d602081101561262057600080fd5b8101908080519060200190929190505050151561263c57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b6000612699826117b6565b15156126a457600080fd5b6126c3600160008481526020019081526020016000206001015461246b565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015151561270457fe5b8091505092915050565b600082821115151561271c57fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820aa57ae7217b7443d866dca2b49bcb0eaffb52382a2478e36ab0913e653d7d1d90029", - "sourceMap": "292:17800:5:-;;;2436:138;8:9:-1;5:2;;;30:1;27;20:12;5:2;2436:138:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2516:10;2493:5;;:34;;;;;;;;;;;;;;;;;;1841:1;2537:9;:30;;;;2436:138;292:17800;;;;;;", - "deployedSourceMap": "292:17800:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10975:288;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10975:288:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1799:43:5;;;;;;;;;;;;;;;;;;;;;;;16151:1117;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16151:1117:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9561:623;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9561:623:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1948:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1948:48:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14981:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14981:124:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12341:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12341:217:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10403:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10403:256:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1876:36:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15294:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15294:147:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:1194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:1194:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12814:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12814:187:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6514:399;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6514:399:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13637:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13637:134:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1848:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1848:21:5;;;;;;;;;;;;;;;;;;;;;;;3972:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3972:257:5;;;;;;;;;;;;;;;;;;;;;;;;;;17959:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17959:131:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2937:295;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2937:295:5;;;;;;;;;;;;;;;;;;;;;;;;;;11925:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11925:185:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13255:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13255:186:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7275:1138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7275:1138:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8639:483;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8639:483:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14596:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14596:175:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14134:190:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17586:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17586:141:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3440:370;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3440:370:5;;;;;;;;;;;;;;;;;;;;;;;;;;11449:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11449:174:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2120:27:5;;;;;;;;;;;;;;;;;;;;;;;;;;;10975:288;11062:14;11096:18;11106:7;11096:9;:18::i;:::-;11088:27;;;;;;;;11130:17;11139:7;11130:8;:17::i;:::-;11126:130;;;11168:7;:16;11176:7;11168:16;;;;;;;;;;;:25;;;11161:32;;;;11126:130;11227:7;:16;11235:7;11227:16;;;;;;;;;;;:29;;;11220:36;;10975:288;;;;:::o;1799:43::-;1841:1;1799:43;:::o;16151:1117::-;16263:13;16363:11;16404:17;16377:19;16389:6;16377:11;:19::i;:::-;16363:33;;16424:28;16437:6;16445;16424:12;:28::i;:::-;16404:48;;16534:610;16550:1;16540:6;:11;;16534:610;;;16634:28;16647:6;16655;16634:12;:28::i;:::-;16619:43;;16691:10;16675:12;:26;;16672:324;;;16758:7;16748:6;:17;16745:178;;;16880:6;:14;16887:6;16880:14;;;;;;;;;;;;;;;:22;;;;16903:6;16880:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16880:30:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16880:30:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16880:30:5;;;;;;;;;;;;;;;;16871:39;;16745:178;16978:6;16971:13;;;;16672:324;17105:6;:14;17112:6;17105:14;;;;;;;;;;;;;;;:22;;;;17128:6;17105:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17105:30:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17105:30:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17105:30:5;;;;;;;;;;;;;;;;17096:39;;16534:610;;;17255:6;17248:13;;16151:1117;;;;;;;;:::o;9561:623::-;9658:11;9717:18;9784;9705:1;9693:9;;:13;9681:9;:25;;;;9738:36;9758:15;9738;:19;;:36;;;;:::i;:::-;9717:57;;9805:34;9823:15;9805:13;:17;;:34;;;;:::i;:::-;9784:55;;9871:191;;;;;;;;;9942:13;9871:191;;;;9984:13;9871:191;;;;9902:11;9871:191;;;;10021:1;9871:191;;;;10050:1;9871:191;;;9850:7;:18;9858:9;;9850:18;;;;;;;;;;;:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10140:10;10073:78;;10129:9;;10073:78;10086:11;10099:13;10114;10073:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10168:9;;10161:16;;9561:623;;;;;;;:::o;1948:48::-;;;;;;;;;;;;;;;;;:::o;14981:124::-;15043:11;15073:6;:14;15080:6;15073:14;;;;;;;;;;;;;;;:22;;;;15096:1;15073:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15073:25:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15073:25:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15073:25:5;;;;;;;;;;;;;;;;15066:32;;14981:124;;;:::o;12341:217::-;12408:11;12439:19;12450:7;12439:10;:19::i;:::-;12431:28;;;;;;;;12478:41;12488:7;:16;12496:7;12488:16;;;;;;;;;;;:30;;;12478:9;:41::i;:::-;12477:42;:74;;;;;12524:27;12543:7;12524:18;:27::i;:::-;12523:28;12477:74;12470:81;;12341:217;;;:::o;10403:256::-;10460:11;10521:16;;:::i;:::-;10491:18;10501:7;10491:9;:18::i;:::-;10483:27;;;;;;;;10540:7;:16;10548:7;10540:16;;;;;;;;;;;10521:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10633:4;:17;;;10617:4;:13;;;:33;10598:4;:15;;;:53;10580:4;:13;;;10574:3;:19;10573:79;10566:86;;10403:256;;;;:::o;1876:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15294:147::-;15360:14;15393:41;15406:6;15414:19;15426:6;15414:11;:19::i;:::-;15393:12;:41::i;:::-;15386:48;;15294:147;;;:::o;4814:1194::-;5328:15;5717:12;4931:27;4950:7;4931:18;:27::i;:::-;4923:36;;;;;;;;5009:10;4977:16;:28;4994:10;4977:28;;;;;;;;;;;;;;;;:42;;4969:51;;;;;;;;5083:1;5072:7;:12;;5064:21;;;;;;;;5271:1;5256:11;:16;:60;;;;5276:6;:18;5283:10;5276:18;;;;;;;;;;;;;;;:27;;;;5304:11;5276:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5276:40:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5276:40:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5276:40:5;;;;;;;;;;;;;;;;5256:60;5248:69;;;;;;;;5346:6;:18;5353:10;5346:18;;;;;;;;;;;;;;;:26;;;;5373:11;5346:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5346:39:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5346:39:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5346:39:5;;;;;;;;;;;;;;;;5328:57;;5496:7;5482:10;:21;5481:74;;5545:10;5481:74;;;5507:6;:18;5514:10;5507:18;;;;;;;;;;;;;;;:26;;;;5534:7;5507:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5507:35:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5507:35:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5507:35:5;;;;;;;;;;;;;;;;5481:74;5468:87;;5574:62;5588:11;5601:10;5613;5625;5574:13;:62::i;:::-;5566:71;;;;;;;;5647:6;:18;5654:10;5647:18;;;;;;;;;;;;;;;:25;;;;5673:11;5686:7;5695:10;5647:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5647:59:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5647:59:5;;;;5732:29;5741:10;5753:7;5732:8;:29::i;:::-;5717:44;;5772:5;:18;;;;5791:4;5810:10;5772:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5772:49:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5772:49:5;;;;5831:5;:18;;;;5850:4;5875:11;5870:17;;;5831:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5831:57:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5831:57:5;;;;5940:4;5899:7;:16;5907:7;5899:16;;;;;;;;;;;:26;;:38;5926:10;5899:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;5990:10;5954:47;;5969:7;5954:47;5978:10;5954:47;;;;;;;;;;;;;;;;;;4814:1194;;;;;;:::o;12814:187::-;12888:14;12922:19;12933:7;12922:10;:19::i;:::-;12914:28;;;;;;;;12960:7;:16;12968:7;12960:16;;;;;;;;;;;:26;;:34;12987:6;12960:34;;;;;;;;;;;;;;;;;;;;;;;;;12953:41;;12814:187;;;;:::o;6514:399::-;6623:10;6645:14;6789;6677:29;6690:6;6698:7;6677:12;:29::i;:::-;6663:10;:43;;6645:62;;6821:29;6834:6;6842:7;6821:12;:29::i;:::-;6807:10;:43;;:59;;;;6865:1;6854:7;:12;6807:59;6789:78;;6884:9;:22;;;;;6897:9;6884:22;6877:29;;6514:399;;;;;;;;:::o;13637:134::-;13696:11;13738:1;13727:7;:12;;:36;;;;;13754:9;;13743:7;:20;;13727:36;13719:45;;13637:134;;;:::o;1848:21::-;;;;:::o;3972:257::-;4035:41;4045:7;:16;4053:7;4045:16;;;;;;;;;;;:30;;;4035:9;:41::i;:::-;4027:50;;;;;;;;4095:6;:18;4102:10;4095:18;;;;;;;;;;;;;;;:27;;;;4123:7;4095:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4095:36:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4095:36:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4095:36:5;;;;;;;;;;;;;;;;4087:45;;;;;;;;4143:6;:18;4150:10;4143:18;;;;;;;;;;;;;;;:25;;;;4169:7;4143:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4143:34:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4143:34:5;;;;4211:10;4187:35;;4202:7;4187:35;;;;;;;;;;3972:257;:::o;17959:131::-;18027:12;18068:5;18075:7;18058:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18051:32;;17959:131;;;;:::o;2937:295::-;3041:10;3010:5;;;;;;;;;;;:15;;;3026:10;3010:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3010:27:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3010:27:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3010:27:5;;;;;;;;;;;;;;;;:41;;3002:50;;;;;;;;3094:10;3062:16;:28;3079:10;3062:28;;;;;;;;;;;;;;;;:42;;;;;;;;;;;3122:5;;;;;;;;;;;:18;;;3141:10;3153:4;3159:10;3122:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3122:48:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3122:48:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3122:48:5;;;;;;;;;;;;;;;;3114:57;;;;;;;;3214:10;3181:44;;;3202:10;3181:44;;;;;;;;;;;;;;;;;;2937:295;:::o;11925:185::-;11992:11;12023:19;12034:7;12023:10;:19::i;:::-;12015:28;;;;;;;;12062:41;12072:7;:16;12080:7;12072:16;;;;;;;;;;;:30;;;12062:9;:41::i;:::-;12061:42;12054:49;;11925:185;;;:::o;13255:186::-;13329:13;13362:19;13373:7;13362:10;:19::i;:::-;13354:28;;;;;;;;13400:7;:16;13408:7;13400:16;;;;;;;;;;;:26;;:34;13427:6;13400:34;;;;;;;;;;;;;;;;;;;;;;;;;13393:41;;13255:186;;;;:::o;7275:1138::-;7862:14;7415:27;7434:7;7415:18;:27::i;:::-;7407:36;;;;;;;;7461:7;:16;7469:7;7461:16;;;;;;;;;;;:26;;:38;7488:10;7461:38;;;;;;;;;;;;;;;;;;;;;;;;;7453:47;;;;;;;;7596:7;:16;7604:7;7596:16;;;;;;;;;;;:26;;:38;7623:10;7596:38;;;;;;;;;;;;;;;;;;;;;;;;;7595:39;7587:48;;;;;;;;7755:34;7769:10;7781:7;7755:13;:34::i;:::-;7722:67;;;7732:11;7745:5;7722:29;;;;;;;;;;;;;;;;;;;;;;;;:67;;;;7714:76;;;;;;;;7879:33;7892:10;7904:7;7879:12;:33::i;:::-;7862:50;;7942:1;7927:11;:16;7923:203;;;8033:9;8004:7;:16;8012:7;8004:16;;;;;;;;;;;:25;;;:38;;;;;;;;;;;7923:203;;;8106:9;8073:7;:16;8081:7;8073:16;;;;;;;;;;;:29;;;:42;;;;;;;;;;;7923:203;8136:6;:18;8143:10;8136:18;;;;;;;;;;;;;;;:25;;;;8162:7;8136:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8136:34:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8136:34:5;;;;8275:4;8234:7;:16;8242:7;8234:16;;;;;;;;;;;:26;;:38;8261:10;8234:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;8395:10;8290:116;;8382:11;8304:7;8290:116;8313:9;8324:7;:16;8332:7;8324:16;;;;;;;;;;;:25;;;8351:7;:16;8359:7;8351:16;;;;;;;;;;;:29;;;8290:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7275:1138;;;;:::o;8639:483::-;8735:17;8855:18;8911;8973;8772;8782:7;8772:9;:18::i;:::-;8764:27;;;;;;;;8809:7;:16;8817:7;8809:16;;;;;;;;;;;:26;;:34;8836:6;8809:34;;;;;;;;;;;;;;;;;;;;;;;;;8801:43;;;;;;;;8876:17;8885:7;8876:8;:17::i;:::-;:25;;8900:1;8876:25;;;8896:1;8876:25;8855:46;;;;8942:13;8957:5;8932:31;;;;;;;;;;;;;;;;;;;;;;;;8911:52;;8994:30;9008:6;9016:7;8994:13;:30::i;:::-;8973:51;;9057:10;9043:24;;;:10;:24;;;;9035:33;;;;;;;;9086:29;9099:6;9107:7;9086:12;:29::i;:::-;9079:36;;8639:483;;;;;;;;:::o;14596:175::-;14673:14;14706:5;:18;;;;14725:25;14734:6;14742:7;14725:8;:25::i;:::-;14706:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14706:58:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14706:58:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14706:58:5;;;;;;;;;;;;;;;;14699:65;;14596:175;;;;:::o;14134:190::-;14212:18;14257:5;:18;;;;14276:25;14285:6;14293:7;14276:8;:25::i;:::-;14257:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14257:59:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14257:59:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14257:59:5;;;;;;;;;;;;;;;;14249:68;;14242:75;;14134:190;;;;:::o;17586:141::-;17653:12;17703:16;17685:15;:34;17677:43;;17586:141;;;:::o;3440:370::-;3506:20;3529:61;3562:27;3578:10;3562:15;:27::i;:::-;3529:16;:28;3546:10;3529:28;;;;;;;;;;;;;;;;:32;;:61;;;;:::i;:::-;3506:84;;3627:10;3608:15;:29;;3600:38;;;;;;;;3680:10;3648:16;:28;3665:10;3648:28;;;;;;;;;;;;;;;;:42;;;;;;;;;;;3708:5;;;;;;;;;;;:14;;;3723:10;3735;3708:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3708:38:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3708:38:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3708:38:5;;;;;;;;;;;;;;;;3700:47;;;;;;;;3792:10;3757:46;;;3780:10;3757:46;;;;;;;;;;;;;;;;;;3440:370;;:::o;11449:174::-;11507:10;11537:19;11548:7;11537:10;:19::i;:::-;11529:28;;;;;;;;11575:41;11585:7;:16;11593:7;11585:16;;;;;;;;;;;:30;;;11575:9;:41::i;:::-;11568:48;;11449:174;;;:::o;2120:27::-;;;;;;;;;;;;;:::o;680:133:8:-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o;562:114::-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o;292:17800:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.8;\nimport \"tokens/eip20/EIP20Interface.sol\";\nimport \"dll/DLL.sol\";\nimport \"attrstore/AttributeStore.sol\";\nimport \"zeppelin/math/SafeMath.sol\";\n\n/**\n@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes\n*/\ncontract PLCRVoting {\n\n // ============\n // EVENTS:\n // ============\n\n event _VoteCommitted(uint indexed pollID, uint numTokens, address indexed voter);\n event _VoteRevealed(uint indexed pollID, uint numTokens, uint votesFor, uint votesAgainst, uint indexed choice, address indexed voter);\n event _PollCreated(uint voteQuorum, uint commitEndDate, uint revealEndDate, uint indexed pollID, address indexed creator);\n event _VotingRightsGranted(uint numTokens, address indexed voter);\n event _VotingRightsWithdrawn(uint numTokens, address indexed voter);\n event _TokensRescued(uint indexed pollID, address indexed voter);\n\n // ============\n // DATA STRUCTURES:\n // ============\n\n using AttributeStore for AttributeStore.Data;\n using DLL for DLL.Data;\n using SafeMath for uint;\n\n struct Poll {\n uint commitEndDate; /// expiration date of commit period for poll\n uint revealEndDate; /// expiration date of reveal period for poll\n uint voteQuorum;\t /// number of votes required for a proposal to pass\n uint votesFor;\t\t /// tally of votes supporting proposal\n uint votesAgainst; /// tally of votes countering proposal\n mapping(address => bool) didCommit; /// indicates whether an address committed a vote for this poll\n mapping(address => bool) didReveal; /// indicates whether an address revealed a vote for this poll\n }\n\n // ============\n // STATE VARIABLES:\n // ============\n\n uint constant public INITIAL_POLL_NONCE = 0;\n uint public pollNonce;\n\n mapping(uint => Poll) public pollMap; // maps pollID to Poll struct\n mapping(address => uint) public voteTokenBalance; // maps user's address to voteToken balance\n\n mapping(address => DLL.Data) dllMap;\n AttributeStore.Data store;\n\n EIP20Interface public token;\n\n // ============\n // CONSTRUCTOR:\n // ============\n\n /**\n @dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n @param _tokenAddr The address where the ERC20 token contract is deployed\n */\n function PLCRVoting(address _tokenAddr) public {\n token = EIP20Interface(_tokenAddr);\n pollNonce = INITIAL_POLL_NONCE;\n }\n\n // ================\n // TOKEN INTERFACE:\n // ================\n\n /**\n @notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n @dev Assumes that msg.sender has approved voting contract to spend on their behalf\n @param _numTokens The number of votingTokens desired in exchange for ERC20 tokens\n */\n function requestVotingRights(uint _numTokens) external {\n require(token.balanceOf(msg.sender) >= _numTokens);\n voteTokenBalance[msg.sender] += _numTokens;\n require(token.transferFrom(msg.sender, this, _numTokens));\n _VotingRightsGranted(_numTokens, msg.sender);\n }\n\n /**\n @notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n @param _numTokens The number of ERC20 tokens desired in exchange for voting rights\n */\n function withdrawVotingRights(uint _numTokens) external {\n uint availableTokens = voteTokenBalance[msg.sender].sub(getLockedTokens(msg.sender));\n require(availableTokens >= _numTokens);\n voteTokenBalance[msg.sender] -= _numTokens;\n require(token.transfer(msg.sender, _numTokens));\n _VotingRightsWithdrawn(_numTokens, msg.sender);\n }\n\n /**\n @dev Unlocks tokens locked in unrevealed vote where poll has ended\n @param _pollID Integer identifier associated with the target poll\n */\n function rescueTokens(uint _pollID) external {\n require(isExpired(pollMap[_pollID].revealEndDate));\n require(dllMap[msg.sender].contains(_pollID));\n\n dllMap[msg.sender].remove(_pollID);\n _TokensRescued(_pollID, msg.sender);\n }\n\n // =================\n // VOTING INTERFACE:\n // =================\n\n /**\n @notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n @param _pollID Integer identifier associated with target poll\n @param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n @param _numTokens The number of tokens to be committed towards the target poll\n @param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens\n */\n function commitVote(uint _pollID, bytes32 _secretHash, uint _numTokens, uint _prevPollID) external {\n require(commitPeriodActive(_pollID));\n require(voteTokenBalance[msg.sender] >= _numTokens); // prevent user from overspending\n require(_pollID != 0); // prevent user from committing to zero node placeholder\n\n // Check if _prevPollID exists in the user's DLL or if _prevPollID is 0\n require(_prevPollID == 0 || dllMap[msg.sender].contains(_prevPollID));\n\n uint nextPollID = dllMap[msg.sender].getNext(_prevPollID);\n\n // if nextPollID is equal to _pollID, _pollID is being updated,\n nextPollID = (nextPollID == _pollID) ? dllMap[msg.sender].getNext(_pollID) : nextPollID;\n\n require(validPosition(_prevPollID, nextPollID, msg.sender, _numTokens));\n dllMap[msg.sender].insert(_prevPollID, _pollID, nextPollID);\n\n bytes32 UUID = attrUUID(msg.sender, _pollID);\n\n store.setAttribute(UUID, \"numTokens\", _numTokens);\n store.setAttribute(UUID, \"commitHash\", uint(_secretHash));\n\n pollMap[_pollID].didCommit[msg.sender] = true;\n _VoteCommitted(_pollID, _numTokens, msg.sender);\n }\n\n /**\n @dev Compares previous and next poll's committed tokens for sorting purposes\n @param _prevID Integer identifier associated with previous poll in sorted order\n @param _nextID Integer identifier associated with next poll in sorted order\n @param _voter Address of user to check DLL position for\n @param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n @return valid Boolean indication of if the specified position maintains the sort\n */\n function validPosition(uint _prevID, uint _nextID, address _voter, uint _numTokens) public constant returns (bool valid) {\n bool prevValid = (_numTokens >= getNumTokens(_voter, _prevID));\n // if next is zero node, _numTokens does not need to be greater\n bool nextValid = (_numTokens <= getNumTokens(_voter, _nextID) || _nextID == 0);\n return prevValid && nextValid;\n }\n\n /**\n @notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n @param _pollID Integer identifier associated with target poll\n @param _voteOption Vote choice used to generate commitHash for associated poll\n @param _salt Secret number used to generate commitHash for associated poll\n */\n function revealVote(uint _pollID, uint _voteOption, uint _salt) external {\n // Make sure the reveal period is active\n require(revealPeriodActive(_pollID));\n require(pollMap[_pollID].didCommit[msg.sender]); // make sure user has committed a vote for this poll\n require(!pollMap[_pollID].didReveal[msg.sender]); // prevent user from revealing multiple times\n require(keccak256(_voteOption, _salt) == getCommitHash(msg.sender, _pollID)); // compare resultant hash from inputs to original commitHash\n\n uint numTokens = getNumTokens(msg.sender, _pollID);\n\n if (_voteOption == 1) {// apply numTokens to appropriate poll choice\n pollMap[_pollID].votesFor += numTokens;\n } else {\n pollMap[_pollID].votesAgainst += numTokens;\n }\n\n dllMap[msg.sender].remove(_pollID); // remove the node referring to this vote upon reveal\n pollMap[_pollID].didReveal[msg.sender] = true;\n\n _VoteRevealed(_pollID, numTokens, pollMap[_pollID].votesFor, pollMap[_pollID].votesAgainst, _voteOption, msg.sender);\n }\n\n /**\n @param _pollID Integer identifier associated with target poll\n @param _salt Arbitrarily chosen integer used to generate secretHash\n @return correctVotes Number of tokens voted for winning option\n */\n function getNumPassingTokens(address _voter, uint _pollID, uint _salt) public constant returns (uint correctVotes) {\n require(pollEnded(_pollID));\n require(pollMap[_pollID].didReveal[_voter]);\n\n uint winningChoice = isPassed(_pollID) ? 1 : 0;\n bytes32 winnerHash = keccak256(winningChoice, _salt);\n bytes32 commitHash = getCommitHash(_voter, _pollID);\n\n require(winnerHash == commitHash);\n\n return getNumTokens(_voter, _pollID);\n }\n\n // ==================\n // POLLING INTERFACE:\n // ==================\n\n /**\n @dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n @param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n @param _commitDuration Length of desired commit period in seconds\n @param _revealDuration Length of desired reveal period in seconds\n */\n function startPoll(uint _voteQuorum, uint _commitDuration, uint _revealDuration) public returns (uint pollID) {\n pollNonce = pollNonce + 1;\n\n uint commitEndDate = block.timestamp.add(_commitDuration);\n uint revealEndDate = commitEndDate.add(_revealDuration);\n\n pollMap[pollNonce] = Poll({\n voteQuorum: _voteQuorum,\n commitEndDate: commitEndDate,\n revealEndDate: revealEndDate,\n votesFor: 0,\n votesAgainst: 0\n });\n\n _PollCreated(_voteQuorum, commitEndDate, revealEndDate, pollNonce, msg.sender);\n return pollNonce;\n }\n\n /**\n @notice Determines if proposal has passed\n @dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n @param _pollID Integer identifier associated with target poll\n */\n function isPassed(uint _pollID) constant public returns (bool passed) {\n require(pollEnded(_pollID));\n\n Poll memory poll = pollMap[_pollID];\n return (100 * poll.votesFor) > (poll.voteQuorum * (poll.votesFor + poll.votesAgainst));\n }\n\n // ----------------\n // POLLING HELPERS:\n // ----------------\n\n /**\n @dev Gets the total winning votes for reward distribution purposes\n @param _pollID Integer identifier associated with target poll\n @return Total number of votes committed to the winning option for specified poll\n */\n function getTotalNumberOfTokensForWinningOption(uint _pollID) constant public returns (uint numTokens) {\n require(pollEnded(_pollID));\n\n if (isPassed(_pollID))\n return pollMap[_pollID].votesFor;\n else\n return pollMap[_pollID].votesAgainst;\n }\n\n /**\n @notice Determines if poll is over\n @dev Checks isExpired for specified poll's revealEndDate\n @return Boolean indication of whether polling period is over\n */\n function pollEnded(uint _pollID) constant public returns (bool ended) {\n require(pollExists(_pollID));\n\n return isExpired(pollMap[_pollID].revealEndDate);\n }\n\n /**\n @notice Checks if the commit period is still active for the specified poll\n @dev Checks isExpired for the specified poll's commitEndDate\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of isCommitPeriodActive for target poll\n */\n function commitPeriodActive(uint _pollID) constant public returns (bool active) {\n require(pollExists(_pollID));\n\n return !isExpired(pollMap[_pollID].commitEndDate);\n }\n\n /**\n @notice Checks if the reveal period is still active for the specified poll\n @dev Checks isExpired for the specified poll's revealEndDate\n @param _pollID Integer identifier associated with target poll\n */\n function revealPeriodActive(uint _pollID) constant public returns (bool active) {\n require(pollExists(_pollID));\n\n return !isExpired(pollMap[_pollID].revealEndDate) && !commitPeriodActive(_pollID);\n }\n\n /**\n @dev Checks if user has committed for specified poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of whether user has committed\n */\n function didCommit(address _voter, uint _pollID) constant public returns (bool committed) {\n require(pollExists(_pollID));\n\n return pollMap[_pollID].didCommit[_voter];\n }\n\n /**\n @dev Checks if user has revealed for specified poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of whether user has revealed\n */\n function didReveal(address _voter, uint _pollID) constant public returns (bool revealed) {\n require(pollExists(_pollID));\n\n return pollMap[_pollID].didReveal[_voter];\n }\n\n /**\n @dev Checks if a poll exists\n @param _pollID The pollID whose existance is to be evaluated.\n @return Boolean Indicates whether a poll exists for the provided pollID\n */\n function pollExists(uint _pollID) constant public returns (bool exists) {\n return (_pollID != 0 && _pollID <= pollNonce);\n }\n\n // ---------------------------\n // DOUBLE-LINKED-LIST HELPERS:\n // ---------------------------\n\n /**\n @dev Gets the bytes32 commitHash property of target poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Bytes32 hash property attached to target poll\n */\n function getCommitHash(address _voter, uint _pollID) constant public returns (bytes32 commitHash) {\n return bytes32(store.getAttribute(attrUUID(_voter, _pollID), \"commitHash\"));\n }\n\n /**\n @dev Wrapper for getAttribute with attrName=\"numTokens\"\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Number of tokens committed to poll in sorted poll-linked-list\n */\n function getNumTokens(address _voter, uint _pollID) constant public returns (uint numTokens) {\n return store.getAttribute(attrUUID(_voter, _pollID), \"numTokens\");\n }\n\n /**\n @dev Gets top element of sorted poll-linked-list\n @param _voter Address of user to check against\n @return Integer identifier to poll with maximum number of tokens committed to it\n */\n function getLastNode(address _voter) constant public returns (uint pollID) {\n return dllMap[_voter].getPrev(0);\n }\n\n /**\n @dev Gets the numTokens property of getLastNode\n @param _voter Address of user to check against\n @return Maximum number of tokens committed in poll specified\n */\n function getLockedTokens(address _voter) constant public returns (uint numTokens) {\n return getNumTokens(_voter, getLastNode(_voter));\n }\n\n /*\n @dev Takes the last node in the user's DLL and iterates backwards through the list searching\n for a node with a value less than or equal to the provided _numTokens value. When such a node\n is found, if the provided _pollID matches the found nodeID, this operation is an in-place\n update. In that case, return the previous node of the node being updated. Otherwise return the\n first node that was found with a value less than or equal to the provided _numTokens.\n @param _voter The voter whose DLL will be searched\n @param _numTokens The value for the numTokens attribute in the node to be inserted\n @return the node which the propoded node should be inserted after\n */\n function getInsertPointForNumTokens(address _voter, uint _numTokens, uint _pollID)\n constant public returns (uint prevNode) {\n // Get the last node in the list and the number of tokens in that node\n uint nodeID = getLastNode(_voter);\n uint tokensInNode = getNumTokens(_voter, nodeID);\n\n // Iterate backwards through the list until reaching the root node\n while(nodeID != 0) {\n // Get the number of tokens in the current node\n tokensInNode = getNumTokens(_voter, nodeID);\n if(tokensInNode <= _numTokens) { // We found the insert point!\n if(nodeID == _pollID) {\n // This is an in-place update. Return the prev node of the node being updated\n nodeID = dllMap[_voter].getPrev(nodeID);\n }\n // Return the insert point\n return nodeID; \n }\n // We did not find the insert point. Continue iterating backwards through the list\n nodeID = dllMap[_voter].getPrev(nodeID);\n }\n\n // The list is empty, or a smaller value than anything else in the list is being inserted\n return nodeID;\n }\n\n // ----------------\n // GENERAL HELPERS:\n // ----------------\n\n /**\n @dev Checks if an expiration date has been reached\n @param _terminationDate Integer timestamp of date to compare current timestamp with\n @return expired Boolean indication of whether the terminationDate has passed\n */\n function isExpired(uint _terminationDate) constant public returns (bool expired) {\n return (block.timestamp > _terminationDate);\n }\n\n /**\n @dev Generates an identifier which associates a user and a poll together\n @param _pollID Integer identifier associated with target poll\n @return UUID Hash which is deterministic from _user and _pollID\n */\n function attrUUID(address _user, uint _pollID) public pure returns (bytes32 UUID) {\n return keccak256(_user, _pollID);\n }\n}\n", - "sourcePath": "plcrvoting/PLCRVoting.sol", - "ast": { - "absolutePath": "plcrvoting/PLCRVoting.sol", - "exportedSymbols": { - "PLCRVoting": [ - 3488 - ] - }, - "id": 3489, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2468, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "tokens/eip20/EIP20Interface.sol", - "id": 2469, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 3783, - "src": "24:41:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "dll/DLL.sol", - "file": "dll/DLL.sol", - "id": 2470, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 2467, - "src": "66:21:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "attrstore/AttributeStore.sol", - "file": "attrstore/AttributeStore.sol", - "id": 2471, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 2166, - "src": "88:38:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "zeppelin/math/SafeMath.sol", - "file": "zeppelin/math/SafeMath.sol", - "id": 2472, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 3878, - "src": "127:36:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes", - "fullyImplemented": true, - "id": 3488, - "linearizedBaseContracts": [ - 3488 - ], - "name": "PLCRVoting", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 2480, - "name": "_VoteCommitted", - "nodeType": "EventDefinition", - "parameters": { - "id": 2479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2474, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "396:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2473, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "396:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2476, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "417:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2475, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "417:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2478, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "433:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "433:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:60:5" - }, - "src": "375:81:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2494, - "name": "_VoteRevealed", - "nodeType": "EventDefinition", - "parameters": { - "id": 2493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2482, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "481:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "481:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "502:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2483, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "502:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2486, - "indexed": false, - "name": "votesFor", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "518:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "518:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2488, - "indexed": false, - "name": "votesAgainst", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "533:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2487, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "533:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2490, - "indexed": true, - "name": "choice", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "552:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2489, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "552:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2492, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "573:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "573:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "480:115:5" - }, - "src": "461:135:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2506, - "name": "_PollCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2496, - "indexed": false, - "name": "voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "620:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2495, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "620:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2498, - "indexed": false, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "637:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2497, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "637:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2500, - "indexed": false, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "657:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2499, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "657:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2502, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "677:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2501, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "677:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2504, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "698:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2503, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "698:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "619:103:5" - }, - "src": "601:122:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2512, - "name": "_VotingRightsGranted", - "nodeType": "EventDefinition", - "parameters": { - "id": 2511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2508, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2512, - "src": "755:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2507, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "755:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2510, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2512, - "src": "771:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "754:39:5" - }, - "src": "728:66:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2518, - "name": "_VotingRightsWithdrawn", - "nodeType": "EventDefinition", - "parameters": { - "id": 2517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2514, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2518, - "src": "828:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2513, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "828:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2516, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2518, - "src": "844:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "844:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "827:39:5" - }, - "src": "799:68:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2524, - "name": "_TokensRescued", - "nodeType": "EventDefinition", - "parameters": { - "id": 2523, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2520, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2524, - "src": "893:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2519, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "893:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2522, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2524, - "src": "914:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "914:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "892:44:5" - }, - "src": "872:65:5" - }, - { - "id": 2527, - "libraryName": { - "contractScope": null, - "id": 2525, - "name": "AttributeStore", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2165, - "src": "1014:14:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AttributeStore_$2165", - "typeString": "library AttributeStore" - } - }, - "nodeType": "UsingForDirective", - "src": "1008:45:5", - "typeName": { - "contractScope": null, - "id": 2526, - "name": "AttributeStore.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "1033:19:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - } - }, - { - "id": 2530, - "libraryName": { - "contractScope": null, - "id": 2528, - "name": "DLL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2466, - "src": "1064:3:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DLL_$2466", - "typeString": "library DLL" - } - }, - "nodeType": "UsingForDirective", - "src": "1058:23:5", - "typeName": { - "contractScope": null, - "id": 2529, - "name": "DLL.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1072:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - } - }, - { - "id": 2533, - "libraryName": { - "contractScope": null, - "id": 2531, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3877, - "src": "1092:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3877", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1086:24:5", - "typeName": { - "id": 2532, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1105:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "PLCRVoting.Poll", - "id": 2552, - "members": [ - { - "constant": false, - "id": 2535, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1138:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2534, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1138:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2537, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1216:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2536, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1216:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2539, - "name": "voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1294:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2538, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1294:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2541, - "name": "votesFor", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1375:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2540, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1375:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2543, - "name": "votesAgainst", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1442:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2542, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1442:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2547, - "name": "didCommit", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1513:34:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 2546, - "keyType": { - "id": 2544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1521:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1513:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2545, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1532:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2551, - "name": "didReveal", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1622:34:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 2550, - "keyType": { - "id": 2548, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1630:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1622:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2549, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1641:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Poll", - "nodeType": "StructDefinition", - "scope": 3488, - "src": "1116:612:5", - "visibility": "public" - }, - { - "constant": true, - "id": 2555, - "name": "INITIAL_POLL_NONCE", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1799:43:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2553, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1799:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1841:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 2557, - "name": "pollNonce", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1848:21:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2556, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1848:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2561, - "name": "pollMap", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1876:36:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" - }, - "typeName": { - "id": 2560, - "keyType": { - "id": 2558, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1884:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1876:21:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" - }, - "valueType": { - "contractScope": null, - "id": 2559, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2552, - "src": "1892:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage_ptr", - "typeString": "struct PLCRVoting.Poll" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2565, - "name": "voteTokenBalance", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1948:48:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2564, - "keyType": { - "id": 2562, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1956:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1948:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2563, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1967:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2569, - "name": "dllMap", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "2047:35:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data)" - }, - "typeName": { - "id": 2568, - "keyType": { - "id": 2566, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2055:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2047:28:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data)" - }, - "valueType": { - "contractScope": null, - "id": 2567, - "name": "DLL.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "2066:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2571, - "name": "store", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "2088:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data" - }, - "typeName": { - "contractScope": null, - "id": 2570, - "name": "AttributeStore.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "2088:19:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2573, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "2120:27:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - }, - "typeName": { - "contractScope": null, - "id": 2572, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "2120:14:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2588, - "nodeType": "Block", - "src": "2483:91:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2578, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "2493:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2580, - "name": "_tokenAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2575, - "src": "2516:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2579, - "name": "EIP20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "2501:14:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EIP20Interface_$3782_$", - "typeString": "type(contract EIP20Interface)" - } - }, - "id": 2581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2501:26:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "src": "2493:34:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2583, - "nodeType": "ExpressionStatement", - "src": "2493:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2584, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "2537:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2585, - "name": "INITIAL_POLL_NONCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2555, - "src": "2549:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2537:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2587, - "nodeType": "ExpressionStatement", - "src": "2537:30:5" - } - ] - }, - "documentation": "@dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n@param _tokenAddr The address where the ERC20 token contract is deployed", - "id": 2589, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "PLCRVoting", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2575, - "name": "_tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 2589, - "src": "2456:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2574, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2456:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2455:20:5" - }, - "payable": false, - "returnParameters": { - "id": 2577, - "nodeType": "ParameterList", - "parameters": [], - "src": "2483:0:5" - }, - "scope": 3488, - "src": "2436:138:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2627, - "nodeType": "Block", - "src": "2992:240:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2597, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3026:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3026:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2595, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "3010:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 3727, - "src": "3010:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3010:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2600, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3041:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3010:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2594, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3002:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3002:50:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2603, - "nodeType": "ExpressionStatement", - "src": "3002:50:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2604, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "3062:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2607, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2605, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3079:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3079:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3062:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 2608, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3094:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3062:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2610, - "nodeType": "ExpressionStatement", - "src": "3062:42:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2614, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3141:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3141:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2616, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3917, - "src": "3153:4:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - { - "argumentTypes": null, - "id": 2617, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3159:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2612, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "3122:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "3122:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3122:48:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2611, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3114:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3114:57:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2620, - "nodeType": "ExpressionStatement", - "src": "3114:57:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2622, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3202:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2623, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3214:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3214:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2621, - "name": "_VotingRightsGranted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3181:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:44:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2626, - "nodeType": "ExpressionStatement", - "src": "3181:44:5" - } - ] - }, - "documentation": "@notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n@dev Assumes that msg.sender has approved voting contract to spend on their behalf\n@param _numTokens The number of votingTokens desired in exchange for ERC20 tokens", - "id": 2628, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "requestVotingRights", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2591, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2628, - "src": "2966:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2590, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2966:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2965:17:5" - }, - "payable": false, - "returnParameters": { - "id": 2593, - "nodeType": "ParameterList", - "parameters": [], - "src": "2992:0:5" - }, - "scope": 3488, - "src": "2937:295:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2674, - "nodeType": "Block", - "src": "3496:314:5", - "statements": [ - { - "assignments": [ - 2634 - ], - "declarations": [ - { - "constant": false, - "id": 2634, - "name": "availableTokens", - "nodeType": "VariableDeclaration", - "scope": 2675, - "src": "3506:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2633, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3506:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2645, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2641, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3578:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3578:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2640, - "name": "getLockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3389, - "src": "3562:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3562:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2635, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "3529:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2638, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2636, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3546:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3546:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3529:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3852, - "src": "3529:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3529:61:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3506:84:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2647, - "name": "availableTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "3608:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2648, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3627:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3608:29:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2646, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3600:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3600:38:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2651, - "nodeType": "ExpressionStatement", - "src": "3600:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2652, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "3648:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2655, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2653, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3665:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3665:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3648:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 2656, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3680:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3648:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2658, - "nodeType": "ExpressionStatement", - "src": "3648:42:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2662, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3723:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3723:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2664, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3735:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2660, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "3708:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "3708:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3708:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2659, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3700:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3700:47:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2667, - "nodeType": "ExpressionStatement", - "src": "3700:47:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2669, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3780:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2670, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3792:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3792:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2668, - "name": "_VotingRightsWithdrawn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2518, - "src": "3757:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 2672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3757:46:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2673, - "nodeType": "ExpressionStatement", - "src": "3757:46:5" - } - ] - }, - "documentation": "@notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n@param _numTokens The number of ERC20 tokens desired in exchange for voting rights", - "id": 2675, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdrawVotingRights", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2630, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2675, - "src": "3470:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2629, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3470:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3469:17:5" - }, - "payable": false, - "returnParameters": { - "id": 2632, - "nodeType": "ParameterList", - "parameters": [], - "src": "3496:0:5" - }, - "scope": 3488, - "src": "3440:370:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2713, - "nodeType": "Block", - "src": "4017:212:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2682, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "4045:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2684, - "indexExpression": { - "argumentTypes": null, - "id": 2683, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4053:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4045:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2537, - "src": "4045:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2681, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "4035:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4035:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2680, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4027:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4027:50:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2688, - "nodeType": "ExpressionStatement", - "src": "4027:50:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2695, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4123:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2690, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "4095:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2693, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2691, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4102:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4102:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4095:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2694, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 2254, - "src": "4095:27:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2689, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4087:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4087:45:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2698, - "nodeType": "ExpressionStatement", - "src": "4087:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2704, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4169:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2699, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "4143:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2702, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2700, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4150:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4150:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4143:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2465, - "src": "4143:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256)" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4143:34:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2706, - "nodeType": "ExpressionStatement", - "src": "4143:34:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2708, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4202:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2709, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4211:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4211:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2707, - "name": "_TokensRescued", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2524, - "src": "4187:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 2711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4187:35:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2712, - "nodeType": "ExpressionStatement", - "src": "4187:35:5" - } - ] - }, - "documentation": "@dev Unlocks tokens locked in unrevealed vote where poll has ended\n@param _pollID Integer identifier associated with the target poll", - "id": 2714, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "rescueTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2678, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2677, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 2714, - "src": "3994:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2676, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3994:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3993:14:5" - }, - "payable": false, - "returnParameters": { - "id": 2679, - "nodeType": "ParameterList", - "parameters": [], - "src": "4017:0:5" - }, - "scope": 3488, - "src": "3972:257:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2849, - "nodeType": "Block", - "src": "4913:1095:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2727, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "4950:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2726, - "name": "commitPeriodActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "4931:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4931:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4923:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4923:36:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2730, - "nodeType": "ExpressionStatement", - "src": "4923:36:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2732, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "4977:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2735, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2733, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4994:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4994:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4977:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2736, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5009:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4977:42:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2731, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4969:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4969:51:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2739, - "nodeType": "ExpressionStatement", - "src": "4969:51:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2741, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5072:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5083:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5072:12:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5064:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5064:21:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2745, - "nodeType": "ExpressionStatement", - "src": "5064:21:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2747, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5256:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5271:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5256:16:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2755, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5304:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2750, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5276:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2753, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2751, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5283:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5283:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5276:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 2254, - "src": "5276:27:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5276:40:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5256:60:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2746, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5248:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5248:69:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2759, - "nodeType": "ExpressionStatement", - "src": "5248:69:5" - }, - { - "assignments": [ - 2761 - ], - "declarations": [ - { - "constant": false, - "id": 2761, - "name": "nextPollID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "5328:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2760, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5328:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2769, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2767, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5373:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2762, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5346:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2765, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2763, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5353:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5353:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5346:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2766, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getNext", - "nodeType": "MemberAccess", - "referencedDeclaration": 2270, - "src": "5346:26:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5346:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5328:57:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2770, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5468:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2771, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5482:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2772, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5496:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5482:21:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2774, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5481:23:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 2782, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5545:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "5481:74:5", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2780, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5534:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2775, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5507:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2778, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2776, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5514:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5514:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5507:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2779, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getNext", - "nodeType": "MemberAccess", - "referencedDeclaration": 2270, - "src": "5507:26:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5507:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5468:87:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2785, - "nodeType": "ExpressionStatement", - "src": "5468:87:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2788, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5588:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2789, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5601:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5613:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5613:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2792, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5625:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2787, - "name": "validPosition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2892, - "src": "5574:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,address,uint256) view returns (bool)" - } - }, - "id": 2793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5574:62:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2786, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5566:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5566:71:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2795, - "nodeType": "ExpressionStatement", - "src": "5566:71:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2801, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5673:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2802, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5686:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2803, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5695:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2796, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5647:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2799, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2797, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5654:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5654:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5647:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "insert", - "nodeType": "MemberAccess", - "referencedDeclaration": 2411, - "src": "5647:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256,uint256,uint256)" - } - }, - "id": 2804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5647:59:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2805, - "nodeType": "ExpressionStatement", - "src": "5647:59:5" - }, - { - "assignments": [ - 2807 - ], - "declarations": [ - { - "constant": false, - "id": 2807, - "name": "UUID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "5717:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2806, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5717:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2813, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2809, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5741:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5741:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2811, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5753:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2808, - "name": "attrUUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "5732:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) pure returns (bytes32)" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5732:29:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5717:44:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2817, - "name": "UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "5791:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "6e756d546f6b656e73", - "id": 2818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5797:11:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - }, - "value": "numTokens" - }, - { - "argumentTypes": null, - "id": 2819, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5810:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2814, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "5772:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 2816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "setAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2164, - "src": "5772:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" - } - }, - "id": 2820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5772:49:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2821, - "nodeType": "ExpressionStatement", - "src": "5772:49:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2825, - "name": "UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "5850:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "636f6d6d697448617368", - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5856:12:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - }, - "value": "commitHash" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2828, - "name": "_secretHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2718, - "src": "5875:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5870:4:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 2829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5870:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2822, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "5831:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 2824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "setAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2164, - "src": "5831:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" - } - }, - "id": 2830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5831:57:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2831, - "nodeType": "ExpressionStatement", - "src": "5831:57:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2832, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "5899:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2834, - "indexExpression": { - "argumentTypes": null, - "id": 2833, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5907:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5899:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didCommit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2547, - "src": "5899:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2838, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2836, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5926:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5926:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5899:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5940:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5899:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2841, - "nodeType": "ExpressionStatement", - "src": "5899:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2843, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5969:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2844, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5978:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2845, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5990:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5990:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2842, - "name": "_VoteCommitted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2480, - "src": "5954:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 2847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5954:47:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2848, - "nodeType": "ExpressionStatement", - "src": "5954:47:5" - } - ] - }, - "documentation": "@notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n@param _pollID Integer identifier associated with target poll\n@param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n@param _numTokens The number of tokens to be committed towards the target poll\n@param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens", - "id": 2850, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "commitVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2716, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4834:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4834:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2718, - "name": "_secretHash", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4848:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2717, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4848:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2720, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4869:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2719, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4869:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2722, - "name": "_prevPollID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4886:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2721, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4886:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4833:70:5" - }, - "payable": false, - "returnParameters": { - "id": 2724, - "nodeType": "ParameterList", - "parameters": [], - "src": "4913:0:5" - }, - "scope": 3488, - "src": "4814:1194:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2891, - "nodeType": "Block", - "src": "6635:278:5", - "statements": [ - { - "assignments": [ - 2864 - ], - "declarations": [ - { - "constant": false, - "id": 2864, - "name": "prevValid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6645:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2863, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6645:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2872, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2865, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2858, - "src": "6663:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2867, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "6690:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2868, - "name": "_prevID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "6698:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2866, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "6677:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6677:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6663:43:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2871, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6662:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6645:62:5" - }, - { - "assignments": [ - 2874 - ], - "declarations": [ - { - "constant": false, - "id": 2874, - "name": "nextValid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6789:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2873, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6789:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2886, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2875, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2858, - "src": "6807:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2877, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "6834:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2878, - "name": "_nextID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2854, - "src": "6842:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2876, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "6821:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6821:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6807:43:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2881, - "name": "_nextID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2854, - "src": "6854:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6865:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6854:12:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6807:59:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6806:61:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6789:78:5" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2887, - "name": "prevValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2864, - "src": "6884:9:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 2888, - "name": "nextValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "6897:9:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6884:22:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2862, - "id": 2890, - "nodeType": "Return", - "src": "6877:29:5" - } - ] - }, - "documentation": "@dev Compares previous and next poll's committed tokens for sorting purposes\n@param _prevID Integer identifier associated with previous poll in sorted order\n@param _nextID Integer identifier associated with next poll in sorted order\n@param _voter Address of user to check DLL position for\n@param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n@return valid Boolean indication of if the specified position maintains the sort", - "id": 2892, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "validPosition", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2852, - "name": "_prevID", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6537:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2851, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6537:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2854, - "name": "_nextID", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6551:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2853, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6551:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2856, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6565:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6565:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2858, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6581:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2857, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6581:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6536:61:5" - }, - "payable": false, - "returnParameters": { - "id": 2862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2861, - "name": "valid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6623:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2860, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6623:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6622:12:5" - }, - "scope": 3488, - "src": "6514:399:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3003, - "nodeType": "Block", - "src": "7348:1065:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2903, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7434:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2902, - "name": "revealPeriodActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3256, - "src": "7415:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7415:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2901, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7407:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7407:36:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2906, - "nodeType": "ExpressionStatement", - "src": "7407:36:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2908, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "7461:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2910, - "indexExpression": { - "argumentTypes": null, - "id": 2909, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7469:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7461:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didCommit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2547, - "src": "7461:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2914, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2912, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7488:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7488:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7461:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2907, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7453:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7453:47:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2916, - "nodeType": "ExpressionStatement", - "src": "7453:47:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7595:39:5", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2918, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "7596:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2920, - "indexExpression": { - "argumentTypes": null, - "id": 2919, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7604:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7596:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "7596:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2924, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7623:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7623:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7596:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2917, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7587:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7587:48:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2927, - "nodeType": "ExpressionStatement", - "src": "7587:48:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 2938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2930, - "name": "_voteOption", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "7732:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2931, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2898, - "src": "7745:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2929, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "7722:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7722:29:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2934, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7769:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7769:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2936, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7781:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2933, - "name": "getCommitHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "7755:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) view returns (bytes32)" - } - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7755:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "7722:67:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2928, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7714:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7714:76:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2940, - "nodeType": "ExpressionStatement", - "src": "7714:76:5" - }, - { - "assignments": [ - 2942 - ], - "declarations": [ - { - "constant": false, - "id": 2942, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7862:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2941, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7862:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2948, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2944, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7892:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7892:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2946, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7904:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2943, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "7879:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 2947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7879:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7862:50:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2949, - "name": "_voteOption", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "7927:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7942:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7927:16:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2967, - "nodeType": "Block", - "src": "8059:67:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2960, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8073:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2962, - "indexExpression": { - "argumentTypes": null, - "id": 2961, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8081:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8073:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "8073:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 2964, - "name": "numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "8106:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8073:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2966, - "nodeType": "ExpressionStatement", - "src": "8073:42:5" - } - ] - }, - "id": 2968, - "nodeType": "IfStatement", - "src": "7923:203:5", - "trueBody": { - "id": 2959, - "nodeType": "Block", - "src": "7945:108:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2952, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8004:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2954, - "indexExpression": { - "argumentTypes": null, - "id": 2953, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8012:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8004:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "8004:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 2956, - "name": "numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "8033:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8004:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2958, - "nodeType": "ExpressionStatement", - "src": "8004:38:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2974, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8162:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2969, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "8136:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2972, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2970, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8143:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8143:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8136:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2465, - "src": "8136:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256)" - } - }, - "id": 2975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8136:34:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2976, - "nodeType": "ExpressionStatement", - "src": "8136:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2977, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8234:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2979, - "indexExpression": { - "argumentTypes": null, - "id": 2978, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8242:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8234:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "8234:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2983, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2981, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8261:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8261:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8234:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8275:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2986, - "nodeType": "ExpressionStatement", - "src": "8234:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2988, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8304:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2989, - "name": "numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "8313:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2990, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8324:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2992, - "indexExpression": { - "argumentTypes": null, - "id": 2991, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8332:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8324:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "8324:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2994, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8351:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2996, - "indexExpression": { - "argumentTypes": null, - "id": 2995, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8359:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8351:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2997, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "8351:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2998, - "name": "_voteOption", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "8382:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2999, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8395:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8395:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "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_address", - "typeString": "address" - } - ], - "id": 2987, - "name": "_VoteRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2494, - "src": "8290:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8290:116:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3002, - "nodeType": "ExpressionStatement", - "src": "8290:116:5" - } - ] - }, - "documentation": "@notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n@param _pollID Integer identifier associated with target poll\n@param _voteOption Vote choice used to generate commitHash for associated poll\n@param _salt Secret number used to generate commitHash for associated poll", - "id": 3004, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "revealVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2894, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7295:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2893, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7295:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2896, - "name": "_voteOption", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7309:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2895, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7309:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2898, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7327:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2897, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7327:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7294:44:5" - }, - "payable": false, - "returnParameters": { - "id": 2900, - "nodeType": "ParameterList", - "parameters": [], - "src": "7348:0:5" - }, - "scope": 3488, - "src": "7275:1138:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3064, - "nodeType": "Block", - "src": "8754:368:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3017, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "8782:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3016, - "name": "pollEnded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3207, - "src": "8772:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8772:18:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3015, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8764:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8764:27:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3020, - "nodeType": "ExpressionStatement", - "src": "8764:27:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3022, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8809:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3024, - "indexExpression": { - "argumentTypes": null, - "id": 3023, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "8817:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8809:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "8809:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3027, - "indexExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "8836:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8809:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3021, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8801:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8801:43:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3029, - "nodeType": "ExpressionStatement", - "src": "8801:43:5" - }, - { - "assignments": [ - 3031 - ], - "declarations": [ - { - "constant": false, - "id": 3031, - "name": "winningChoice", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8855:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3030, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8855:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3038, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3033, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "8885:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3032, - "name": "isPassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "8876:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8876:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8900:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 3037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8876:25:5", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8896:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8855:46:5" - }, - { - "assignments": [ - 3040 - ], - "declarations": [ - { - "constant": false, - "id": 3040, - "name": "winnerHash", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8911:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3039, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8911:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3045, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3042, - "name": "winningChoice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3031, - "src": "8942:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3043, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "8957:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3041, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "8932:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8932:31:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8911:52:5" - }, - { - "assignments": [ - 3047 - ], - "declarations": [ - { - "constant": false, - "id": 3047, - "name": "commitHash", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8973:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3046, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8973:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3052, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3049, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "9008:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3050, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "9016:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3048, - "name": "getCommitHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "8994:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) view returns (bytes32)" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8973:51:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3054, - "name": "winnerHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3040, - "src": "9043:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3055, - "name": "commitHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3047, - "src": "9057:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "9043:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3053, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9035:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9035:33:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3058, - "nodeType": "ExpressionStatement", - "src": "9035:33:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3060, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "9099:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3061, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "9107:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3059, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "9086:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9086:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3014, - "id": 3063, - "nodeType": "Return", - "src": "9079:36:5" - } - ] - }, - "documentation": "@param _pollID Integer identifier associated with target poll\n@param _salt Arbitrarily chosen integer used to generate secretHash\n@return correctVotes Number of tokens voted for winning option", - "id": 3065, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNumPassingTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3006, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8668:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8668:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3008, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8684:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3007, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8684:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8698:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3009, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8698:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8667:42:5" - }, - "payable": false, - "returnParameters": { - "id": 3014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3013, - "name": "correctVotes", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8735:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3012, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8735:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8734:19:5" - }, - "scope": 3488, - "src": "8639:483:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3120, - "nodeType": "Block", - "src": "9671:513:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3076, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "9681:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3077, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "9693:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9705:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9693:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9681:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3081, - "nodeType": "ExpressionStatement", - "src": "9681:25:5" - }, - { - "assignments": [ - 3083 - ], - "declarations": [ - { - "constant": false, - "id": 3083, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9717:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3082, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9717:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3089, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3087, - "name": "_commitDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "9758:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3084, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "9738:5:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9738:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "9738:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9738:36:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9717:57:5" - }, - { - "assignments": [ - 3091 - ], - "declarations": [ - { - "constant": false, - "id": 3091, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9784:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3090, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9784:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3096, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3094, - "name": "_revealDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3071, - "src": "9823:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3092, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3083, - "src": "9805:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "9805:17:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9805:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9784:55:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3097, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "9850:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3099, - "indexExpression": { - "argumentTypes": null, - "id": 3098, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "9858:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9850:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3101, - "name": "_voteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "9902:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3102, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3083, - "src": "9942:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3103, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3091, - "src": "9984:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10021:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10050:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 3100, - "name": "Poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2552, - "src": "9871:4:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Poll_$2552_storage_ptr_$", - "typeString": "type(struct PLCRVoting.Poll storage pointer)" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "voteQuorum", - "commitEndDate", - "revealEndDate", - "votesFor", - "votesAgainst" - ], - "nodeType": "FunctionCall", - "src": "9871:191:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "src": "9850:212:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3108, - "nodeType": "ExpressionStatement", - "src": "9850:212:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3110, - "name": "_voteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "10086:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3111, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3083, - "src": "10099:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3112, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3091, - "src": "10114:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "10129:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3114, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10140:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10140:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3109, - "name": "_PollCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "10073:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,address)" - } - }, - "id": 3116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10073:78:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3117, - "nodeType": "ExpressionStatement", - "src": "10073:78:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3118, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "10168:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3075, - "id": 3119, - "nodeType": "Return", - "src": "10161:16:5" - } - ] - }, - "documentation": "@dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n@param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n@param _commitDuration Length of desired commit period in seconds\n@param _revealDuration Length of desired reveal period in seconds", - "id": 3121, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "startPoll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3067, - "name": "_voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9580:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3066, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9580:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3069, - "name": "_commitDuration", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9598:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3068, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9598:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3071, - "name": "_revealDuration", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9620:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3070, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9620:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9579:62:5" - }, - "payable": false, - "returnParameters": { - "id": 3075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3074, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9658:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3073, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9658:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9657:13:5" - }, - "scope": 3488, - "src": "9561:623:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3157, - "nodeType": "Block", - "src": "10473:186:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3130, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3123, - "src": "10501:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3129, - "name": "pollEnded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3207, - "src": "10491:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10491:18:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3128, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "10483:7:5", - "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": "10483:27:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3133, - "nodeType": "ExpressionStatement", - "src": "10483:27:5" - }, - { - "assignments": [ - 3135 - ], - "declarations": [ - { - "constant": false, - "id": 3135, - "name": "poll", - "nodeType": "VariableDeclaration", - "scope": 3158, - "src": "10521:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll" - }, - "typeName": { - "contractScope": null, - "id": 3134, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2552, - "src": "10521:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage_ptr", - "typeString": "struct PLCRVoting.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3139, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3136, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "10540:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3138, - "indexExpression": { - "argumentTypes": null, - "id": 3137, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3123, - "src": "10548:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10540:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10521:35:5" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10574:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3141, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10580:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "10580:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10574:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10573:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3145, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10598:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voteQuorum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2539, - "src": "10598:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3147, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10617:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "10617:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3149, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10633:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "10633:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10617:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3152, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10616:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10598:53:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3154, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10597:55:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10573:79:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3127, - "id": 3156, - "nodeType": "Return", - "src": "10566:86:5" - } - ] - }, - "documentation": "@notice Determines if proposal has passed\n@dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n@param _pollID Integer identifier associated with target poll", - "id": 3158, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isPassed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3123, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3158, - "src": "10421:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10421:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10420:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3126, - "name": "passed", - "nodeType": "VariableDeclaration", - "scope": 3158, - "src": "10460:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3125, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10460:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10459:13:5" - }, - "scope": 3488, - "src": "10403:256:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3185, - "nodeType": "Block", - "src": "11078:185:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3167, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11106:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3166, - "name": "pollEnded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3207, - "src": "11096:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11096:18:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3165, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "11088:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11088:27:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3170, - "nodeType": "ExpressionStatement", - "src": "11088:27:5" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3172, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11139:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3171, - "name": "isPassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "11130:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11130:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3179, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "11227:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3181, - "indexExpression": { - "argumentTypes": null, - "id": 3180, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11235:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11227:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3182, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "11227:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3164, - "id": 3183, - "nodeType": "Return", - "src": "11220:36:5" - }, - "id": 3184, - "nodeType": "IfStatement", - "src": "11126:130:5", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3174, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "11168:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3176, - "indexExpression": { - "argumentTypes": null, - "id": 3175, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11176:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11168:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3177, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "11168:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3164, - "id": 3178, - "nodeType": "Return", - "src": "11161:32:5" - } - } - ] - }, - "documentation": "@dev Gets the total winning votes for reward distribution purposes\n@param _pollID Integer identifier associated with target poll\n@return Total number of votes committed to the winning option for specified poll", - "id": 3186, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTotalNumberOfTokensForWinningOption", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3160, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3186, - "src": "11023:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3159, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11023:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11022:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3163, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3186, - "src": "11062:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3162, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11062:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11061:16:5" - }, - "scope": 3488, - "src": "10975:288:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3206, - "nodeType": "Block", - "src": "11519:104:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3195, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3188, - "src": "11548:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3194, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "11537:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11537:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3193, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "11529:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11529:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3198, - "nodeType": "ExpressionStatement", - "src": "11529:28:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3200, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "11585:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3202, - "indexExpression": { - "argumentTypes": null, - "id": 3201, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3188, - "src": "11593:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11585:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2537, - "src": "11585:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3199, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "11575:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11575:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3192, - "id": 3205, - "nodeType": "Return", - "src": "11568:48:5" - } - ] - }, - "documentation": "@notice Determines if poll is over\n@dev Checks isExpired for specified poll's revealEndDate\n@return Boolean indication of whether polling period is over", - "id": 3207, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pollEnded", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3188, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3207, - "src": "11468:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3187, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11468:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11467:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3191, - "name": "ended", - "nodeType": "VariableDeclaration", - "scope": 3207, - "src": "11507:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3190, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11507:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11506:12:5" - }, - "scope": 3488, - "src": "11449:174:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3228, - "nodeType": "Block", - "src": "12005:105:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3216, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3209, - "src": "12034:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3215, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "12023:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12023:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3214, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "12015:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12015:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3219, - "nodeType": "ExpressionStatement", - "src": "12015:28:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12061:42:5", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3221, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "12072:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3223, - "indexExpression": { - "argumentTypes": null, - "id": 3222, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3209, - "src": "12080:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12072:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "commitEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2535, - "src": "12072:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3220, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "12062:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12062:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3213, - "id": 3227, - "nodeType": "Return", - "src": "12054:49:5" - } - ] - }, - "documentation": "@notice Checks if the commit period is still active for the specified poll\n@dev Checks isExpired for the specified poll's commitEndDate\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of isCommitPeriodActive for target poll", - "id": 3229, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "commitPeriodActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3209, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3229, - "src": "11953:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3208, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11953:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11952:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3212, - "name": "active", - "nodeType": "VariableDeclaration", - "scope": 3229, - "src": "11992:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3211, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11992:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11991:13:5" - }, - "scope": 3488, - "src": "11925:185:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3255, - "nodeType": "Block", - "src": "12421:137:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3238, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3231, - "src": "12450:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3237, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "12439:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12439:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3236, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "12431:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12431:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3241, - "nodeType": "ExpressionStatement", - "src": "12431:28:5" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12477:42:5", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3243, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "12488:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3245, - "indexExpression": { - "argumentTypes": null, - "id": 3244, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3231, - "src": "12496:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12488:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2537, - "src": "12488:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3242, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "12478:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12478:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 3252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12523:28:5", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3250, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3231, - "src": "12543:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3249, - "name": "commitPeriodActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "12524:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12524:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12477:74:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3235, - "id": 3254, - "nodeType": "Return", - "src": "12470:81:5" - } - ] - }, - "documentation": "@notice Checks if the reveal period is still active for the specified poll\n@dev Checks isExpired for the specified poll's revealEndDate\n@param _pollID Integer identifier associated with target poll", - "id": 3256, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "revealPeriodActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3231, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3256, - "src": "12369:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3230, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12369:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12368:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3234, - "name": "active", - "nodeType": "VariableDeclaration", - "scope": 3256, - "src": "12408:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3233, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12408:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12407:13:5" - }, - "scope": 3488, - "src": "12341:217:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3278, - "nodeType": "Block", - "src": "12904:97:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3267, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "12933:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3266, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "12922:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12922:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3265, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "12914:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12914:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3270, - "nodeType": "ExpressionStatement", - "src": "12914:28:5" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3271, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "12960:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3273, - "indexExpression": { - "argumentTypes": null, - "id": 3272, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "12968:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12960:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3274, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didCommit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2547, - "src": "12960:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3276, - "indexExpression": { - "argumentTypes": null, - "id": 3275, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3258, - "src": "12987:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12960:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3264, - "id": 3277, - "nodeType": "Return", - "src": "12953:41:5" - } - ] - }, - "documentation": "@dev Checks if user has committed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has committed", - "id": 3279, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "didCommit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3258, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3279, - "src": "12833:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12833:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3260, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3279, - "src": "12849:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3259, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12849:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12832:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3263, - "name": "committed", - "nodeType": "VariableDeclaration", - "scope": 3279, - "src": "12888:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3262, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12888:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12887:16:5" - }, - "scope": 3488, - "src": "12814:187:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3301, - "nodeType": "Block", - "src": "13344:97:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3290, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3283, - "src": "13373:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3289, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13362:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13362:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13354:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13354:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3293, - "nodeType": "ExpressionStatement", - "src": "13354:28:5" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3294, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "13400:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3296, - "indexExpression": { - "argumentTypes": null, - "id": 3295, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3283, - "src": "13408:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13400:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "13400:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3299, - "indexExpression": { - "argumentTypes": null, - "id": 3298, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "13427:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13400:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3287, - "id": 3300, - "nodeType": "Return", - "src": "13393:41:5" - } - ] - }, - "documentation": "@dev Checks if user has revealed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has revealed", - "id": 3302, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "didReveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3281, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "13274:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13274:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3283, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "13290:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3282, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13290:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13273:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3286, - "name": "revealed", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "13329:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3285, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13329:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13328:15:5" - }, - "scope": 3488, - "src": "13255:186:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3318, - "nodeType": "Block", - "src": "13709:62:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3309, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3304, - "src": "13727:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13738:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13727:12:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3312, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3304, - "src": "13743:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3313, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "13754:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13743:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13727:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3316, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13726:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3308, - "id": 3317, - "nodeType": "Return", - "src": "13719:45:5" - } - ] - }, - "documentation": "@dev Checks if a poll exists\n@param _pollID The pollID whose existance is to be evaluated.\n@return Boolean Indicates whether a poll exists for the provided pollID", - "id": 3319, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pollExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3304, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3319, - "src": "13657:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3303, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13657:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13656:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3308, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3307, - "name": "exists", - "nodeType": "VariableDeclaration", - "scope": 3319, - "src": "13696:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3306, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13696:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13695:13:5" - }, - "scope": 3488, - "src": "13637:134:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3339, - "nodeType": "Block", - "src": "14232:92:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3332, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3321, - "src": "14285:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3333, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3323, - "src": "14293:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3331, - "name": "attrUUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "14276:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) pure returns (bytes32)" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14276:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "636f6d6d697448617368", - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14303:12:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - }, - "value": "commitHash" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3329, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "14257:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "14257:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" - } - }, - "id": 3336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14257:59:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14249:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 3337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14249:68:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 3327, - "id": 3338, - "nodeType": "Return", - "src": "14242:75:5" - } - ] - }, - "documentation": "@dev Gets the bytes32 commitHash property of target poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Bytes32 hash property attached to target poll", - "id": 3340, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCommitHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3321, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3340, - "src": "14157:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3320, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14157:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3323, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3340, - "src": "14173:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3322, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14173:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14156:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3326, - "name": "commitHash", - "nodeType": "VariableDeclaration", - "scope": 3340, - "src": "14212:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3325, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14212:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14211:20:5" - }, - "scope": 3488, - "src": "14134:190:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3358, - "nodeType": "Block", - "src": "14689:82:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3352, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3342, - "src": "14734:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3353, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3344, - "src": "14742:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3351, - "name": "attrUUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "14725:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) pure returns (bytes32)" - } - }, - "id": 3354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14725:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "6e756d546f6b656e73", - "id": 3355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14752:11:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - }, - "value": "numTokens" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3349, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "14706:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 3350, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "14706:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" - } - }, - "id": 3356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14706:58:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3348, - "id": 3357, - "nodeType": "Return", - "src": "14699:65:5" - } - ] - }, - "documentation": "@dev Wrapper for getAttribute with attrName=\"numTokens\"\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Number of tokens committed to poll in sorted poll-linked-list", - "id": 3359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNumTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3342, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3359, - "src": "14618:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14618:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3344, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3359, - "src": "14634:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3343, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14634:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14617:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3347, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3359, - "src": "14673:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3346, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14673:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14672:16:5" - }, - "scope": 3488, - "src": "14596:175:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3373, - "nodeType": "Block", - "src": "15056:49:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15096:1:5", - "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" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3366, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "15073:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 3368, - "indexExpression": { - "argumentTypes": null, - "id": 3367, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "15080:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15073:14:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 3369, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2286, - "src": "15073:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 3371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15073:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3365, - "id": 3372, - "nodeType": "Return", - "src": "15066:32:5" - } - ] - }, - "documentation": "@dev Gets top element of sorted poll-linked-list\n@param _voter Address of user to check against\n@return Integer identifier to poll with maximum number of tokens committed to it", - "id": 3374, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLastNode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3361, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3374, - "src": "15002:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15002:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15001:16:5" - }, - "payable": false, - "returnParameters": { - "id": 3365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3364, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 3374, - "src": "15043:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3363, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15043:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15042:13:5" - }, - "scope": 3488, - "src": "14981:124:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3388, - "nodeType": "Block", - "src": "15376:65:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3382, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "15406:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3384, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "15426:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3383, - "name": "getLastNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "15414:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15414:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3381, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "15393:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15393:41:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3380, - "id": 3387, - "nodeType": "Return", - "src": "15386:48:5" - } - ] - }, - "documentation": "@dev Gets the numTokens property of getLastNode\n@param _voter Address of user to check against\n@return Maximum number of tokens committed in poll specified", - "id": 3389, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLockedTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3376, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "15319:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15319:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15318:16:5" - }, - "payable": false, - "returnParameters": { - "id": 3380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3379, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "15360:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3378, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15360:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15359:16:5" - }, - "scope": 3488, - "src": "15294:147:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3457, - "nodeType": "Block", - "src": "16278:990:5", - "statements": [ - { - "assignments": [ - 3401 - ], - "declarations": [ - { - "constant": false, - "id": 3401, - "name": "nodeID", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16363:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3400, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16363:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3405, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3403, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16389:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3402, - "name": "getLastNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "16377:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 3404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16377:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16363:33:5" - }, - { - "assignments": [ - 3407 - ], - "declarations": [ - { - "constant": false, - "id": 3407, - "name": "tokensInNode", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16404:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3406, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16404:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3412, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3409, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16437:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3410, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16445:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3408, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16424:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16424:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16404:48:5" - }, - { - "body": { - "id": 3453, - "nodeType": "Block", - "src": "16553:591:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3416, - "name": "tokensInNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3407, - "src": "16619:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3418, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16647:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3419, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16655:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3417, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16634:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16634:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16619:43:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3422, - "nodeType": "ExpressionStatement", - "src": "16619:43:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3423, - "name": "tokensInNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3407, - "src": "16675:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3424, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3393, - "src": "16691:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16675:26:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3443, - "nodeType": "IfStatement", - "src": "16672:324:5", - "trueBody": { - "id": 3442, - "nodeType": "Block", - "src": "16703:293:5", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3426, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16748:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3427, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3395, - "src": "16758:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16748:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3439, - "nodeType": "IfStatement", - "src": "16745:178:5", - "trueBody": { - "id": 3438, - "nodeType": "Block", - "src": "16767:156:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3429, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16871:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3434, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16903:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3430, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "16880:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 3432, - "indexExpression": { - "argumentTypes": null, - "id": 3431, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16887:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16880:14:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 3433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2286, - "src": "16880:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16880:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16871:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3437, - "nodeType": "ExpressionStatement", - "src": "16871:39:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3440, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16978:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3399, - "id": 3441, - "nodeType": "Return", - "src": "16971:13:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3444, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "17096:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3449, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "17128:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3445, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "17105:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 3447, - "indexExpression": { - "argumentTypes": null, - "id": 3446, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "17112:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17105:14:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 3448, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2286, - "src": "17105:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 3450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17105:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17096:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3452, - "nodeType": "ExpressionStatement", - "src": "17096:39:5" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3413, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16540:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16550:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16540:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3454, - "nodeType": "WhileStatement", - "src": "16534:610:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3455, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "17255:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3399, - "id": 3456, - "nodeType": "Return", - "src": "17248:13:5" - } - ] - }, - "documentation": null, - "id": 3458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getInsertPointForNumTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3391, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16187:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16187:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3393, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16203:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3392, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16203:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3395, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16220:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3394, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16220:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16186:47:5" - }, - "payable": false, - "returnParameters": { - "id": 3399, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3398, - "name": "prevNode", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16263:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3397, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16263:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16262:15:5" - }, - "scope": 3488, - "src": "16151:1117:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3471, - "nodeType": "Block", - "src": "17667:60:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3465, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "17685:5:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17685:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3467, - "name": "_terminationDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3460, - "src": "17703:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17685:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3469, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17684:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3464, - "id": 3470, - "nodeType": "Return", - "src": "17677:43:5" - } - ] - }, - "documentation": "@dev Checks if an expiration date has been reached\n@param _terminationDate Integer timestamp of date to compare current timestamp with\n@return expired Boolean indication of whether the terminationDate has passed", - "id": 3472, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isExpired", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3461, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3460, - "name": "_terminationDate", - "nodeType": "VariableDeclaration", - "scope": 3472, - "src": "17605:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3459, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17605:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17604:23:5" - }, - "payable": false, - "returnParameters": { - "id": 3464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3463, - "name": "expired", - "nodeType": "VariableDeclaration", - "scope": 3472, - "src": "17653:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3462, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17653:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17652:14:5" - }, - "scope": 3488, - "src": "17586:141:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3486, - "nodeType": "Block", - "src": "18041:49:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3482, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3474, - "src": "18068:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3483, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3476, - "src": "18075:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3481, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "18058:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 3480, - "id": 3485, - "nodeType": "Return", - "src": "18051:32:5" - } - ] - }, - "documentation": "@dev Generates an identifier which associates a user and a poll together\n@param _pollID Integer identifier associated with target poll\n@return UUID Hash which is deterministic from _user and _pollID", - "id": 3487, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "attrUUID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3474, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 3487, - "src": "17977:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17977:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3476, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3487, - "src": "17992:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3475, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17992:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17976:29:5" - }, - "payable": false, - "returnParameters": { - "id": 3480, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3479, - "name": "UUID", - "nodeType": "VariableDeclaration", - "scope": 3487, - "src": "18027:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3478, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18027:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18026:14:5" - }, - "scope": 3488, - "src": "17959:131:5", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3489, - "src": "292:17800:5" - } - ], - "src": "0:18093:5" - }, - "legacyAST": { - "absolutePath": "plcrvoting/PLCRVoting.sol", - "exportedSymbols": { - "PLCRVoting": [ - 3488 - ] - }, - "id": 3489, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2468, - "literals": [ - "solidity", - "^", - "0.4", - ".8" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "tokens/eip20/EIP20Interface.sol", - "id": 2469, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 3783, - "src": "24:41:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "dll/DLL.sol", - "file": "dll/DLL.sol", - "id": 2470, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 2467, - "src": "66:21:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "attrstore/AttributeStore.sol", - "file": "attrstore/AttributeStore.sol", - "id": 2471, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 2166, - "src": "88:38:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "zeppelin/math/SafeMath.sol", - "file": "zeppelin/math/SafeMath.sol", - "id": 2472, - "nodeType": "ImportDirective", - "scope": 3489, - "sourceUnit": 3878, - "src": "127:36:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes", - "fullyImplemented": true, - "id": 3488, - "linearizedBaseContracts": [ - 3488 - ], - "name": "PLCRVoting", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 2480, - "name": "_VoteCommitted", - "nodeType": "EventDefinition", - "parameters": { - "id": 2479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2474, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "396:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2473, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "396:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2476, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "417:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2475, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "417:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2478, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2480, - "src": "433:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "433:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:60:5" - }, - "src": "375:81:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2494, - "name": "_VoteRevealed", - "nodeType": "EventDefinition", - "parameters": { - "id": 2493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2482, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "481:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2481, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "481:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2484, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "502:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2483, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "502:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2486, - "indexed": false, - "name": "votesFor", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "518:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "518:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2488, - "indexed": false, - "name": "votesAgainst", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "533:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2487, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "533:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2490, - "indexed": true, - "name": "choice", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "552:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2489, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "552:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2492, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2494, - "src": "573:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "573:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "480:115:5" - }, - "src": "461:135:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2506, - "name": "_PollCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2496, - "indexed": false, - "name": "voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "620:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2495, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "620:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2498, - "indexed": false, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "637:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2497, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "637:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2500, - "indexed": false, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "657:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2499, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "657:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2502, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "677:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2501, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "677:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2504, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "698:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2503, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "698:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "619:103:5" - }, - "src": "601:122:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2512, - "name": "_VotingRightsGranted", - "nodeType": "EventDefinition", - "parameters": { - "id": 2511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2508, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2512, - "src": "755:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2507, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "755:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2510, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2512, - "src": "771:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "754:39:5" - }, - "src": "728:66:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2518, - "name": "_VotingRightsWithdrawn", - "nodeType": "EventDefinition", - "parameters": { - "id": 2517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2514, - "indexed": false, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 2518, - "src": "828:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2513, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "828:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2516, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2518, - "src": "844:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "844:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "827:39:5" - }, - "src": "799:68:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 2524, - "name": "_TokensRescued", - "nodeType": "EventDefinition", - "parameters": { - "id": 2523, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2520, - "indexed": true, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 2524, - "src": "893:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2519, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "893:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2522, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 2524, - "src": "914:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "914:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "892:44:5" - }, - "src": "872:65:5" - }, - { - "id": 2527, - "libraryName": { - "contractScope": null, - "id": 2525, - "name": "AttributeStore", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2165, - "src": "1014:14:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AttributeStore_$2165", - "typeString": "library AttributeStore" - } - }, - "nodeType": "UsingForDirective", - "src": "1008:45:5", - "typeName": { - "contractScope": null, - "id": 2526, - "name": "AttributeStore.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "1033:19:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - } - }, - { - "id": 2530, - "libraryName": { - "contractScope": null, - "id": 2528, - "name": "DLL", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2466, - "src": "1064:3:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DLL_$2466", - "typeString": "library DLL" - } - }, - "nodeType": "UsingForDirective", - "src": "1058:23:5", - "typeName": { - "contractScope": null, - "id": 2529, - "name": "DLL.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "1072:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - } - }, - { - "id": 2533, - "libraryName": { - "contractScope": null, - "id": 2531, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3877, - "src": "1092:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3877", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1086:24:5", - "typeName": { - "id": 2532, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1105:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "PLCRVoting.Poll", - "id": 2552, - "members": [ - { - "constant": false, - "id": 2535, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1138:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2534, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1138:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2537, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1216:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2536, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1216:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2539, - "name": "voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1294:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2538, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1294:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2541, - "name": "votesFor", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1375:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2540, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1375:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2543, - "name": "votesAgainst", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1442:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2542, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1442:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2547, - "name": "didCommit", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1513:34:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 2546, - "keyType": { - "id": 2544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1521:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1513:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2545, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1532:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2551, - "name": "didReveal", - "nodeType": "VariableDeclaration", - "scope": 2552, - "src": "1622:34:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 2550, - "keyType": { - "id": 2548, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1630:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1622:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 2549, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1641:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Poll", - "nodeType": "StructDefinition", - "scope": 3488, - "src": "1116:612:5", - "visibility": "public" - }, - { - "constant": true, - "id": 2555, - "name": "INITIAL_POLL_NONCE", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1799:43:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2553, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1799:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1841:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "id": 2557, - "name": "pollNonce", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1848:21:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2556, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1848:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2561, - "name": "pollMap", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1876:36:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" - }, - "typeName": { - "id": 2560, - "keyType": { - "id": 2558, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1884:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1876:21:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" - }, - "valueType": { - "contractScope": null, - "id": 2559, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2552, - "src": "1892:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage_ptr", - "typeString": "struct PLCRVoting.Poll" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2565, - "name": "voteTokenBalance", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "1948:48:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2564, - "keyType": { - "id": 2562, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1956:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1948:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2563, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1967:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 2569, - "name": "dllMap", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "2047:35:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data)" - }, - "typeName": { - "id": 2568, - "keyType": { - "id": 2566, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2055:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2047:28:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data)" - }, - "valueType": { - "contractScope": null, - "id": 2567, - "name": "DLL.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2180, - "src": "2066:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage_ptr", - "typeString": "struct DLL.Data" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2571, - "name": "store", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "2088:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data" - }, - "typeName": { - "contractScope": null, - "id": 2570, - "name": "AttributeStore.Data", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2113, - "src": "2088:19:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage_ptr", - "typeString": "struct AttributeStore.Data" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2573, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 3488, - "src": "2120:27:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - }, - "typeName": { - "contractScope": null, - "id": 2572, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "2120:14:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 2588, - "nodeType": "Block", - "src": "2483:91:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2578, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "2493:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2580, - "name": "_tokenAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2575, - "src": "2516:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2579, - "name": "EIP20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "2501:14:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EIP20Interface_$3782_$", - "typeString": "type(contract EIP20Interface)" - } - }, - "id": 2581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2501:26:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "src": "2493:34:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2583, - "nodeType": "ExpressionStatement", - "src": "2493:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2584, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "2537:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2585, - "name": "INITIAL_POLL_NONCE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2555, - "src": "2549:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2537:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2587, - "nodeType": "ExpressionStatement", - "src": "2537:30:5" - } - ] - }, - "documentation": "@dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n@param _tokenAddr The address where the ERC20 token contract is deployed", - "id": 2589, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "PLCRVoting", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2575, - "name": "_tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 2589, - "src": "2456:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2574, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2456:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2455:20:5" - }, - "payable": false, - "returnParameters": { - "id": 2577, - "nodeType": "ParameterList", - "parameters": [], - "src": "2483:0:5" - }, - "scope": 3488, - "src": "2436:138:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2627, - "nodeType": "Block", - "src": "2992:240:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2597, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3026:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3026:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2595, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "3010:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 3727, - "src": "3010:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3010:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2600, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3041:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3010:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2594, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3002:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3002:50:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2603, - "nodeType": "ExpressionStatement", - "src": "3002:50:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2604, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "3062:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2607, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2605, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3079:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3079:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3062:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 2608, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3094:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3062:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2610, - "nodeType": "ExpressionStatement", - "src": "3062:42:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2614, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3141:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3141:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2616, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3917, - "src": "3153:4:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - { - "argumentTypes": null, - "id": 2617, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3159:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2612, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "3122:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "3122:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3122:48:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2611, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3114:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3114:57:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2620, - "nodeType": "ExpressionStatement", - "src": "3114:57:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2622, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2591, - "src": "3202:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2623, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3214:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3214:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2621, - "name": "_VotingRightsGranted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2512, - "src": "3181:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:44:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2626, - "nodeType": "ExpressionStatement", - "src": "3181:44:5" - } - ] - }, - "documentation": "@notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n@dev Assumes that msg.sender has approved voting contract to spend on their behalf\n@param _numTokens The number of votingTokens desired in exchange for ERC20 tokens", - "id": 2628, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "requestVotingRights", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2591, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2628, - "src": "2966:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2590, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2966:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2965:17:5" - }, - "payable": false, - "returnParameters": { - "id": 2593, - "nodeType": "ParameterList", - "parameters": [], - "src": "2992:0:5" - }, - "scope": 3488, - "src": "2937:295:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2674, - "nodeType": "Block", - "src": "3496:314:5", - "statements": [ - { - "assignments": [ - 2634 - ], - "declarations": [ - { - "constant": false, - "id": 2634, - "name": "availableTokens", - "nodeType": "VariableDeclaration", - "scope": 2675, - "src": "3506:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2633, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3506:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2645, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2641, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3578:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3578:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2640, - "name": "getLockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3389, - "src": "3562:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3562:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2635, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "3529:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2638, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2636, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3546:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3546:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3529:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3852, - "src": "3529:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3529:61:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3506:84:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2647, - "name": "availableTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "3608:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2648, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3627:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3608:29:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2646, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3600:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3600:38:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2651, - "nodeType": "ExpressionStatement", - "src": "3600:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2652, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "3648:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2655, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2653, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3665:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3665:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3648:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 2656, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3680:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3648:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2658, - "nodeType": "ExpressionStatement", - "src": "3648:42:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2662, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3723:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3723:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2664, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3735:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2660, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "3708:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "3708:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3708:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2659, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3700:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3700:47:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2667, - "nodeType": "ExpressionStatement", - "src": "3700:47:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2669, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2630, - "src": "3780:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2670, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3792:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3792:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2668, - "name": "_VotingRightsWithdrawn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2518, - "src": "3757:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 2672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3757:46:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2673, - "nodeType": "ExpressionStatement", - "src": "3757:46:5" - } - ] - }, - "documentation": "@notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n@param _numTokens The number of ERC20 tokens desired in exchange for voting rights", - "id": 2675, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdrawVotingRights", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2630, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2675, - "src": "3470:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2629, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3470:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3469:17:5" - }, - "payable": false, - "returnParameters": { - "id": 2632, - "nodeType": "ParameterList", - "parameters": [], - "src": "3496:0:5" - }, - "scope": 3488, - "src": "3440:370:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2713, - "nodeType": "Block", - "src": "4017:212:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2682, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "4045:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2684, - "indexExpression": { - "argumentTypes": null, - "id": 2683, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4053:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4045:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2537, - "src": "4045:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2681, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "4035:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4035:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2680, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4027:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4027:50:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2688, - "nodeType": "ExpressionStatement", - "src": "4027:50:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2695, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4123:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2690, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "4095:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2693, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2691, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4102:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4102:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4095:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2694, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 2254, - "src": "4095:27:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4095:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2689, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4087:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4087:45:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2698, - "nodeType": "ExpressionStatement", - "src": "4087:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2704, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4169:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2699, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "4143:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2702, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2700, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4150:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4150:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4143:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2465, - "src": "4143:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256)" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4143:34:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2706, - "nodeType": "ExpressionStatement", - "src": "4143:34:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2708, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2677, - "src": "4202:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2709, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4211:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4211:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2707, - "name": "_TokensRescued", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2524, - "src": "4187:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 2711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4187:35:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2712, - "nodeType": "ExpressionStatement", - "src": "4187:35:5" - } - ] - }, - "documentation": "@dev Unlocks tokens locked in unrevealed vote where poll has ended\n@param _pollID Integer identifier associated with the target poll", - "id": 2714, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "rescueTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2678, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2677, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 2714, - "src": "3994:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2676, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3994:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3993:14:5" - }, - "payable": false, - "returnParameters": { - "id": 2679, - "nodeType": "ParameterList", - "parameters": [], - "src": "4017:0:5" - }, - "scope": 3488, - "src": "3972:257:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2849, - "nodeType": "Block", - "src": "4913:1095:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2727, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "4950:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2726, - "name": "commitPeriodActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "4931:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4931:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4923:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4923:36:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2730, - "nodeType": "ExpressionStatement", - "src": "4923:36:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2732, - "name": "voteTokenBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2565, - "src": "4977:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2735, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2733, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4994:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4994:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4977:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2736, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5009:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4977:42:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2731, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4969:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4969:51:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2739, - "nodeType": "ExpressionStatement", - "src": "4969:51:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2741, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5072:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5083:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5072:12:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2740, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5064:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5064:21:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2745, - "nodeType": "ExpressionStatement", - "src": "5064:21:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2747, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5256:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5271:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5256:16:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2755, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5304:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2750, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5276:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2753, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2751, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5283:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5283:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5276:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 2254, - "src": "5276:27:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" - } - }, - "id": 2756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5276:40:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5256:60:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2746, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5248:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5248:69:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2759, - "nodeType": "ExpressionStatement", - "src": "5248:69:5" - }, - { - "assignments": [ - 2761 - ], - "declarations": [ - { - "constant": false, - "id": 2761, - "name": "nextPollID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "5328:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2760, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5328:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2769, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2767, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5373:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2762, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5346:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2765, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2763, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5353:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5353:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5346:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2766, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getNext", - "nodeType": "MemberAccess", - "referencedDeclaration": 2270, - "src": "5346:26:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5346:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5328:57:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2770, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5468:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2771, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5482:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2772, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5496:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5482:21:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2774, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5481:23:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "id": 2782, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5545:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "5481:74:5", - "trueExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2780, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5534:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2775, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5507:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2778, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2776, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5514:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5514:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5507:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2779, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getNext", - "nodeType": "MemberAccess", - "referencedDeclaration": 2270, - "src": "5507:26:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5507:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5468:87:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2785, - "nodeType": "ExpressionStatement", - "src": "5468:87:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2788, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5588:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2789, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5601:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5613:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5613:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2792, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5625:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2787, - "name": "validPosition", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2892, - "src": "5574:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256,address,uint256) view returns (bool)" - } - }, - "id": 2793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5574:62:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2786, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5566:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5566:71:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2795, - "nodeType": "ExpressionStatement", - "src": "5566:71:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2801, - "name": "_prevPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2722, - "src": "5673:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2802, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5686:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2803, - "name": "nextPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2761, - "src": "5695:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2796, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "5647:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2799, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2797, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5654:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5654:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5647:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "insert", - "nodeType": "MemberAccess", - "referencedDeclaration": 2411, - "src": "5647:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256,uint256,uint256)" - } - }, - "id": 2804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5647:59:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2805, - "nodeType": "ExpressionStatement", - "src": "5647:59:5" - }, - { - "assignments": [ - 2807 - ], - "declarations": [ - { - "constant": false, - "id": 2807, - "name": "UUID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "5717:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2806, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5717:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2813, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2809, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5741:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5741:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2811, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5753:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2808, - "name": "attrUUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "5732:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) pure returns (bytes32)" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5732:29:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5717:44:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2817, - "name": "UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "5791:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "6e756d546f6b656e73", - "id": 2818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5797:11:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - }, - "value": "numTokens" - }, - { - "argumentTypes": null, - "id": 2819, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5810:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2814, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "5772:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 2816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "setAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2164, - "src": "5772:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" - } - }, - "id": 2820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5772:49:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2821, - "nodeType": "ExpressionStatement", - "src": "5772:49:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2825, - "name": "UUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2807, - "src": "5850:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "636f6d6d697448617368", - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5856:12:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - }, - "value": "commitHash" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2828, - "name": "_secretHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2718, - "src": "5875:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5870:4:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 2829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5870:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2822, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "5831:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 2824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "setAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2164, - "src": "5831:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" - } - }, - "id": 2830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5831:57:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2831, - "nodeType": "ExpressionStatement", - "src": "5831:57:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2832, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "5899:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2834, - "indexExpression": { - "argumentTypes": null, - "id": 2833, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5907:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5899:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didCommit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2547, - "src": "5899:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2838, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2836, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5926:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5926:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5899:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5940:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5899:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2841, - "nodeType": "ExpressionStatement", - "src": "5899:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2843, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2716, - "src": "5969:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2844, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "5978:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2845, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5990:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5990:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2842, - "name": "_VoteCommitted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2480, - "src": "5954:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 2847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5954:47:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2848, - "nodeType": "ExpressionStatement", - "src": "5954:47:5" - } - ] - }, - "documentation": "@notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n@param _pollID Integer identifier associated with target poll\n@param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n@param _numTokens The number of tokens to be committed towards the target poll\n@param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens", - "id": 2850, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "commitVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2716, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4834:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4834:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2718, - "name": "_secretHash", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4848:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2717, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4848:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2720, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4869:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2719, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4869:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2722, - "name": "_prevPollID", - "nodeType": "VariableDeclaration", - "scope": 2850, - "src": "4886:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2721, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4886:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4833:70:5" - }, - "payable": false, - "returnParameters": { - "id": 2724, - "nodeType": "ParameterList", - "parameters": [], - "src": "4913:0:5" - }, - "scope": 3488, - "src": "4814:1194:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 2891, - "nodeType": "Block", - "src": "6635:278:5", - "statements": [ - { - "assignments": [ - 2864 - ], - "declarations": [ - { - "constant": false, - "id": 2864, - "name": "prevValid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6645:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2863, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6645:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2872, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2865, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2858, - "src": "6663:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2867, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "6690:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2868, - "name": "_prevID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "6698:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2866, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "6677:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6677:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6663:43:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2871, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6662:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6645:62:5" - }, - { - "assignments": [ - 2874 - ], - "declarations": [ - { - "constant": false, - "id": 2874, - "name": "nextValid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6789:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2873, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6789:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2886, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2875, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2858, - "src": "6807:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2877, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "6834:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2878, - "name": "_nextID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2854, - "src": "6842:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2876, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "6821:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6821:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6807:43:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2881, - "name": "_nextID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2854, - "src": "6854:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6865:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6854:12:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6807:59:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6806:61:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6789:78:5" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2887, - "name": "prevValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2864, - "src": "6884:9:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 2888, - "name": "nextValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2874, - "src": "6897:9:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6884:22:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2862, - "id": 2890, - "nodeType": "Return", - "src": "6877:29:5" - } - ] - }, - "documentation": "@dev Compares previous and next poll's committed tokens for sorting purposes\n@param _prevID Integer identifier associated with previous poll in sorted order\n@param _nextID Integer identifier associated with next poll in sorted order\n@param _voter Address of user to check DLL position for\n@param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n@return valid Boolean indication of if the specified position maintains the sort", - "id": 2892, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "validPosition", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2852, - "name": "_prevID", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6537:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2851, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6537:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2854, - "name": "_nextID", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6551:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2853, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6551:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2856, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6565:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6565:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2858, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6581:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2857, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6581:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6536:61:5" - }, - "payable": false, - "returnParameters": { - "id": 2862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2861, - "name": "valid", - "nodeType": "VariableDeclaration", - "scope": 2892, - "src": "6623:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2860, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6623:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6622:12:5" - }, - "scope": 3488, - "src": "6514:399:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3003, - "nodeType": "Block", - "src": "7348:1065:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2903, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7434:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2902, - "name": "revealPeriodActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3256, - "src": "7415:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 2904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7415:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2901, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7407:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7407:36:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2906, - "nodeType": "ExpressionStatement", - "src": "7407:36:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2908, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "7461:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2910, - "indexExpression": { - "argumentTypes": null, - "id": 2909, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7469:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7461:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didCommit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2547, - "src": "7461:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2914, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2912, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7488:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7488:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7461:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2907, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7453:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7453:47:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2916, - "nodeType": "ExpressionStatement", - "src": "7453:47:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7595:39:5", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2918, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "7596:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2920, - "indexExpression": { - "argumentTypes": null, - "id": 2919, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7604:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7596:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "7596:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2924, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7623:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7623:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7596:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2917, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7587:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7587:48:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2927, - "nodeType": "ExpressionStatement", - "src": "7587:48:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 2938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2930, - "name": "_voteOption", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "7732:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2931, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2898, - "src": "7745:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2929, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "7722:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7722:29:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2934, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7769:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7769:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2936, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7781:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2933, - "name": "getCommitHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "7755:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) view returns (bytes32)" - } - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7755:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "7722:67:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2928, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7714:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7714:76:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2940, - "nodeType": "ExpressionStatement", - "src": "7714:76:5" - }, - { - "assignments": [ - 2942 - ], - "declarations": [ - { - "constant": false, - "id": 2942, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7862:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2941, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7862:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2948, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2944, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7892:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7892:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2946, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "7904:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2943, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "7879:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 2947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7879:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7862:50:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2949, - "name": "_voteOption", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "7927:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7942:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7927:16:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2967, - "nodeType": "Block", - "src": "8059:67:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2960, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8073:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2962, - "indexExpression": { - "argumentTypes": null, - "id": 2961, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8081:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8073:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "8073:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 2964, - "name": "numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "8106:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8073:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2966, - "nodeType": "ExpressionStatement", - "src": "8073:42:5" - } - ] - }, - "id": 2968, - "nodeType": "IfStatement", - "src": "7923:203:5", - "trueBody": { - "id": 2959, - "nodeType": "Block", - "src": "7945:108:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2952, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8004:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2954, - "indexExpression": { - "argumentTypes": null, - "id": 2953, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8012:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8004:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "8004:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 2956, - "name": "numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "8033:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8004:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2958, - "nodeType": "ExpressionStatement", - "src": "8004:38:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2974, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8162:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2969, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "8136:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 2972, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2970, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8143:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8143:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8136:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2465, - "src": "8136:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256)" - } - }, - "id": 2975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8136:34:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2976, - "nodeType": "ExpressionStatement", - "src": "8136:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2977, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8234:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2979, - "indexExpression": { - "argumentTypes": null, - "id": 2978, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8242:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8234:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "8234:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2983, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2981, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8261:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8261:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8234:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8275:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8234:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2986, - "nodeType": "ExpressionStatement", - "src": "8234:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2988, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8304:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2989, - "name": "numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "8313:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2990, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8324:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2992, - "indexExpression": { - "argumentTypes": null, - "id": 2991, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8332:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8324:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "8324:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2994, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8351:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 2996, - "indexExpression": { - "argumentTypes": null, - "id": 2995, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2894, - "src": "8359:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8351:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 2997, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "8351:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2998, - "name": "_voteOption", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "8382:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2999, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8395:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8395:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "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_address", - "typeString": "address" - } - ], - "id": 2987, - "name": "_VoteRevealed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2494, - "src": "8290:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,address)" - } - }, - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8290:116:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3002, - "nodeType": "ExpressionStatement", - "src": "8290:116:5" - } - ] - }, - "documentation": "@notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n@param _pollID Integer identifier associated with target poll\n@param _voteOption Vote choice used to generate commitHash for associated poll\n@param _salt Secret number used to generate commitHash for associated poll", - "id": 3004, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "revealVote", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2894, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7295:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2893, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7295:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2896, - "name": "_voteOption", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7309:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2895, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7309:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2898, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 3004, - "src": "7327:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2897, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7327:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7294:44:5" - }, - "payable": false, - "returnParameters": { - "id": 2900, - "nodeType": "ParameterList", - "parameters": [], - "src": "7348:0:5" - }, - "scope": 3488, - "src": "7275:1138:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 3064, - "nodeType": "Block", - "src": "8754:368:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3017, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "8782:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3016, - "name": "pollEnded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3207, - "src": "8772:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8772:18:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3015, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8764:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8764:27:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3020, - "nodeType": "ExpressionStatement", - "src": "8764:27:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3022, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "8809:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3024, - "indexExpression": { - "argumentTypes": null, - "id": 3023, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "8817:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8809:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "8809:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3027, - "indexExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "8836:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8809:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3021, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8801:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8801:43:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3029, - "nodeType": "ExpressionStatement", - "src": "8801:43:5" - }, - { - "assignments": [ - 3031 - ], - "declarations": [ - { - "constant": false, - "id": 3031, - "name": "winningChoice", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8855:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3030, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8855:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3038, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3033, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "8885:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3032, - "name": "isPassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "8876:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8876:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8900:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 3037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8876:25:5", - "trueExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8896:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8855:46:5" - }, - { - "assignments": [ - 3040 - ], - "declarations": [ - { - "constant": false, - "id": 3040, - "name": "winnerHash", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8911:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3039, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8911:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3045, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3042, - "name": "winningChoice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3031, - "src": "8942:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3043, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "8957:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3041, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "8932:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8932:31:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8911:52:5" - }, - { - "assignments": [ - 3047 - ], - "declarations": [ - { - "constant": false, - "id": 3047, - "name": "commitHash", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8973:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3046, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8973:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3052, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3049, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "9008:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3050, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "9016:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3048, - "name": "getCommitHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "8994:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) view returns (bytes32)" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8973:51:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3054, - "name": "winnerHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3040, - "src": "9043:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3055, - "name": "commitHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3047, - "src": "9057:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "9043:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3053, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9035:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9035:33:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3058, - "nodeType": "ExpressionStatement", - "src": "9035:33:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3060, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3006, - "src": "9099:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3061, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3008, - "src": "9107:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3059, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "9086:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9086:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3014, - "id": 3063, - "nodeType": "Return", - "src": "9079:36:5" - } - ] - }, - "documentation": "@param _pollID Integer identifier associated with target poll\n@param _salt Arbitrarily chosen integer used to generate secretHash\n@return correctVotes Number of tokens voted for winning option", - "id": 3065, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNumPassingTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3006, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8668:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8668:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3008, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8684:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3007, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8684:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8698:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3009, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8698:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8667:42:5" - }, - "payable": false, - "returnParameters": { - "id": 3014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3013, - "name": "correctVotes", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "8735:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3012, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8735:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8734:19:5" - }, - "scope": 3488, - "src": "8639:483:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3120, - "nodeType": "Block", - "src": "9671:513:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3076, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "9681:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3077, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "9693:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9705:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9693:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9681:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3081, - "nodeType": "ExpressionStatement", - "src": "9681:25:5" - }, - { - "assignments": [ - 3083 - ], - "declarations": [ - { - "constant": false, - "id": 3083, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9717:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3082, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9717:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3089, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3087, - "name": "_commitDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "9758:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3084, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "9738:5:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9738:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "9738:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9738:36:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9717:57:5" - }, - { - "assignments": [ - 3091 - ], - "declarations": [ - { - "constant": false, - "id": 3091, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9784:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3090, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9784:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3096, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3094, - "name": "_revealDuration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3071, - "src": "9823:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3092, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3083, - "src": "9805:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "9805:17:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9805:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9784:55:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3097, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "9850:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3099, - "indexExpression": { - "argumentTypes": null, - "id": 3098, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "9858:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9850:18:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3101, - "name": "_voteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "9902:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3102, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3083, - "src": "9942:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3103, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3091, - "src": "9984:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10021:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10050:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 3100, - "name": "Poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2552, - "src": "9871:4:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Poll_$2552_storage_ptr_$", - "typeString": "type(struct PLCRVoting.Poll storage pointer)" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "voteQuorum", - "commitEndDate", - "revealEndDate", - "votesFor", - "votesAgainst" - ], - "nodeType": "FunctionCall", - "src": "9871:191:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "src": "9850:212:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3108, - "nodeType": "ExpressionStatement", - "src": "9850:212:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3110, - "name": "_voteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "10086:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3111, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3083, - "src": "10099:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3112, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3091, - "src": "10114:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "10129:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3114, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10140:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10140:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3109, - "name": "_PollCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "10073:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,address)" - } - }, - "id": 3116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10073:78:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3117, - "nodeType": "ExpressionStatement", - "src": "10073:78:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3118, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "10168:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3075, - "id": 3119, - "nodeType": "Return", - "src": "10161:16:5" - } - ] - }, - "documentation": "@dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n@param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n@param _commitDuration Length of desired commit period in seconds\n@param _revealDuration Length of desired reveal period in seconds", - "id": 3121, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "startPoll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3067, - "name": "_voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9580:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3066, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9580:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3069, - "name": "_commitDuration", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9598:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3068, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9598:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3071, - "name": "_revealDuration", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9620:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3070, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9620:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9579:62:5" - }, - "payable": false, - "returnParameters": { - "id": 3075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3074, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 3121, - "src": "9658:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3073, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9658:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9657:13:5" - }, - "scope": 3488, - "src": "9561:623:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3157, - "nodeType": "Block", - "src": "10473:186:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3130, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3123, - "src": "10501:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3129, - "name": "pollEnded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3207, - "src": "10491:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10491:18:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3128, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "10483:7:5", - "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": "10483:27:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3133, - "nodeType": "ExpressionStatement", - "src": "10483:27:5" - }, - { - "assignments": [ - 3135 - ], - "declarations": [ - { - "constant": false, - "id": 3135, - "name": "poll", - "nodeType": "VariableDeclaration", - "scope": 3158, - "src": "10521:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll" - }, - "typeName": { - "contractScope": null, - "id": 3134, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2552, - "src": "10521:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage_ptr", - "typeString": "struct PLCRVoting.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3139, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3136, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "10540:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3138, - "indexExpression": { - "argumentTypes": null, - "id": 3137, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3123, - "src": "10548:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10540:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10521:35:5" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10574:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3141, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10580:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "10580:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10574:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10573:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3145, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10598:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voteQuorum", - "nodeType": "MemberAccess", - "referencedDeclaration": 2539, - "src": "10598:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3147, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10617:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "10617:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3149, - "name": "poll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "10633:4:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_memory_ptr", - "typeString": "struct PLCRVoting.Poll memory" - } - }, - "id": 3150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "10633:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10617:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3152, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10616:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10598:53:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3154, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10597:55:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10573:79:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3127, - "id": 3156, - "nodeType": "Return", - "src": "10566:86:5" - } - ] - }, - "documentation": "@notice Determines if proposal has passed\n@dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n@param _pollID Integer identifier associated with target poll", - "id": 3158, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isPassed", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3124, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3123, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3158, - "src": "10421:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3122, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10421:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10420:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3126, - "name": "passed", - "nodeType": "VariableDeclaration", - "scope": 3158, - "src": "10460:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3125, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10460:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10459:13:5" - }, - "scope": 3488, - "src": "10403:256:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3185, - "nodeType": "Block", - "src": "11078:185:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3167, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11106:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3166, - "name": "pollEnded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3207, - "src": "11096:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11096:18:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3165, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "11088:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11088:27:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3170, - "nodeType": "ExpressionStatement", - "src": "11088:27:5" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3172, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11139:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3171, - "name": "isPassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3158, - "src": "11130:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11130:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3179, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "11227:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3181, - "indexExpression": { - "argumentTypes": null, - "id": 3180, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11235:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11227:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3182, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesAgainst", - "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "11227:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3164, - "id": 3183, - "nodeType": "Return", - "src": "11220:36:5" - }, - "id": 3184, - "nodeType": "IfStatement", - "src": "11126:130:5", - "trueBody": { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3174, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "11168:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3176, - "indexExpression": { - "argumentTypes": null, - "id": 3175, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "11176:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11168:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3177, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesFor", - "nodeType": "MemberAccess", - "referencedDeclaration": 2541, - "src": "11168:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3164, - "id": 3178, - "nodeType": "Return", - "src": "11161:32:5" - } - } - ] - }, - "documentation": "@dev Gets the total winning votes for reward distribution purposes\n@param _pollID Integer identifier associated with target poll\n@return Total number of votes committed to the winning option for specified poll", - "id": 3186, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getTotalNumberOfTokensForWinningOption", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3160, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3186, - "src": "11023:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3159, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11023:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11022:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3163, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3186, - "src": "11062:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3162, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11062:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11061:16:5" - }, - "scope": 3488, - "src": "10975:288:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3206, - "nodeType": "Block", - "src": "11519:104:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3195, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3188, - "src": "11548:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3194, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "11537:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11537:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3193, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "11529:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11529:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3198, - "nodeType": "ExpressionStatement", - "src": "11529:28:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3200, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "11585:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3202, - "indexExpression": { - "argumentTypes": null, - "id": 3201, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3188, - "src": "11593:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11585:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2537, - "src": "11585:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3199, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "11575:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11575:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3192, - "id": 3205, - "nodeType": "Return", - "src": "11568:48:5" - } - ] - }, - "documentation": "@notice Determines if poll is over\n@dev Checks isExpired for specified poll's revealEndDate\n@return Boolean indication of whether polling period is over", - "id": 3207, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pollEnded", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3188, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3207, - "src": "11468:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3187, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11468:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11467:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3191, - "name": "ended", - "nodeType": "VariableDeclaration", - "scope": 3207, - "src": "11507:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3190, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11507:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11506:12:5" - }, - "scope": 3488, - "src": "11449:174:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3228, - "nodeType": "Block", - "src": "12005:105:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3216, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3209, - "src": "12034:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3215, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "12023:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12023:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3214, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "12015:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12015:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3219, - "nodeType": "ExpressionStatement", - "src": "12015:28:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12061:42:5", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3221, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "12072:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3223, - "indexExpression": { - "argumentTypes": null, - "id": 3222, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3209, - "src": "12080:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12072:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "commitEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2535, - "src": "12072:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3220, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "12062:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12062:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3213, - "id": 3227, - "nodeType": "Return", - "src": "12054:49:5" - } - ] - }, - "documentation": "@notice Checks if the commit period is still active for the specified poll\n@dev Checks isExpired for the specified poll's commitEndDate\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of isCommitPeriodActive for target poll", - "id": 3229, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "commitPeriodActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3209, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3229, - "src": "11953:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3208, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11953:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11952:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3212, - "name": "active", - "nodeType": "VariableDeclaration", - "scope": 3229, - "src": "11992:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3211, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11992:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11991:13:5" - }, - "scope": 3488, - "src": "11925:185:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3255, - "nodeType": "Block", - "src": "12421:137:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3238, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3231, - "src": "12450:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3237, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "12439:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12439:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3236, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "12431:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12431:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3241, - "nodeType": "ExpressionStatement", - "src": "12431:28:5" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12477:42:5", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3243, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "12488:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3245, - "indexExpression": { - "argumentTypes": null, - "id": 3244, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3231, - "src": "12496:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12488:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "revealEndDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2537, - "src": "12488:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3242, - "name": "isExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "12478:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12478:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 3252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12523:28:5", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3250, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3231, - "src": "12543:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3249, - "name": "commitPeriodActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "12524:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12524:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12477:74:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3235, - "id": 3254, - "nodeType": "Return", - "src": "12470:81:5" - } - ] - }, - "documentation": "@notice Checks if the reveal period is still active for the specified poll\n@dev Checks isExpired for the specified poll's revealEndDate\n@param _pollID Integer identifier associated with target poll", - "id": 3256, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "revealPeriodActive", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3231, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3256, - "src": "12369:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3230, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12369:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12368:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3234, - "name": "active", - "nodeType": "VariableDeclaration", - "scope": 3256, - "src": "12408:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3233, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12408:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12407:13:5" - }, - "scope": 3488, - "src": "12341:217:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3278, - "nodeType": "Block", - "src": "12904:97:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3267, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "12933:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3266, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "12922:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12922:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3265, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "12914:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12914:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3270, - "nodeType": "ExpressionStatement", - "src": "12914:28:5" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3271, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "12960:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3273, - "indexExpression": { - "argumentTypes": null, - "id": 3272, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "12968:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12960:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3274, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didCommit", - "nodeType": "MemberAccess", - "referencedDeclaration": 2547, - "src": "12960:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3276, - "indexExpression": { - "argumentTypes": null, - "id": 3275, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3258, - "src": "12987:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12960:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3264, - "id": 3277, - "nodeType": "Return", - "src": "12953:41:5" - } - ] - }, - "documentation": "@dev Checks if user has committed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has committed", - "id": 3279, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "didCommit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3258, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3279, - "src": "12833:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12833:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3260, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3279, - "src": "12849:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3259, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12849:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12832:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3263, - "name": "committed", - "nodeType": "VariableDeclaration", - "scope": 3279, - "src": "12888:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3262, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12888:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12887:16:5" - }, - "scope": 3488, - "src": "12814:187:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3301, - "nodeType": "Block", - "src": "13344:97:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3290, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3283, - "src": "13373:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3289, - "name": "pollExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "13362:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13362:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3288, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13354:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13354:28:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3293, - "nodeType": "ExpressionStatement", - "src": "13354:28:5" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3294, - "name": "pollMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "13400:7:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$2552_storage_$", - "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" - } - }, - "id": 3296, - "indexExpression": { - "argumentTypes": null, - "id": 3295, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3283, - "src": "13408:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13400:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$2552_storage", - "typeString": "struct PLCRVoting.Poll storage ref" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "didReveal", - "nodeType": "MemberAccess", - "referencedDeclaration": 2551, - "src": "13400:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3299, - "indexExpression": { - "argumentTypes": null, - "id": 3298, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3281, - "src": "13427:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13400:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3287, - "id": 3300, - "nodeType": "Return", - "src": "13393:41:5" - } - ] - }, - "documentation": "@dev Checks if user has revealed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has revealed", - "id": 3302, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "didReveal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3281, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "13274:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13274:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3283, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "13290:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3282, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13290:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13273:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3286, - "name": "revealed", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "13329:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3285, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13329:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13328:15:5" - }, - "scope": 3488, - "src": "13255:186:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3318, - "nodeType": "Block", - "src": "13709:62:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3309, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3304, - "src": "13727:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13738:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13727:12:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3312, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3304, - "src": "13743:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3313, - "name": "pollNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2557, - "src": "13754:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13743:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13727:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3316, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13726:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3308, - "id": 3317, - "nodeType": "Return", - "src": "13719:45:5" - } - ] - }, - "documentation": "@dev Checks if a poll exists\n@param _pollID The pollID whose existance is to be evaluated.\n@return Boolean Indicates whether a poll exists for the provided pollID", - "id": 3319, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "pollExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3304, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3319, - "src": "13657:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3303, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13657:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13656:14:5" - }, - "payable": false, - "returnParameters": { - "id": 3308, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3307, - "name": "exists", - "nodeType": "VariableDeclaration", - "scope": 3319, - "src": "13696:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3306, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13696:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13695:13:5" - }, - "scope": 3488, - "src": "13637:134:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3339, - "nodeType": "Block", - "src": "14232:92:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3332, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3321, - "src": "14285:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3333, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3323, - "src": "14293:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3331, - "name": "attrUUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "14276:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) pure returns (bytes32)" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14276:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "636f6d6d697448617368", - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14303:12:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - }, - "value": "commitHash" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", - "typeString": "literal_string \"commitHash\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3329, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "14257:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "14257:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" - } - }, - "id": 3336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14257:59:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14249:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": "bytes32" - }, - "id": 3337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14249:68:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 3327, - "id": 3338, - "nodeType": "Return", - "src": "14242:75:5" - } - ] - }, - "documentation": "@dev Gets the bytes32 commitHash property of target poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Bytes32 hash property attached to target poll", - "id": 3340, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getCommitHash", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3321, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3340, - "src": "14157:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3320, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14157:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3323, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3340, - "src": "14173:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3322, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14173:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14156:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3326, - "name": "commitHash", - "nodeType": "VariableDeclaration", - "scope": 3340, - "src": "14212:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3325, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14212:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14211:20:5" - }, - "scope": 3488, - "src": "14134:190:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3358, - "nodeType": "Block", - "src": "14689:82:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3352, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3342, - "src": "14734:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3353, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3344, - "src": "14742:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3351, - "name": "attrUUID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "14725:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (address,uint256) pure returns (bytes32)" - } - }, - "id": 3354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14725:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "hexValue": "6e756d546f6b656e73", - "id": 3355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14752:11:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - }, - "value": "numTokens" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", - "typeString": "literal_string \"numTokens\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3349, - "name": "store", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "14706:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2113_storage", - "typeString": "struct AttributeStore.Data storage ref" - } - }, - "id": 3350, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getAttribute", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "14706:18:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2113_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2113_storage_ptr_$", - "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" - } - }, - "id": 3356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14706:58:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3348, - "id": 3357, - "nodeType": "Return", - "src": "14699:65:5" - } - ] - }, - "documentation": "@dev Wrapper for getAttribute with attrName=\"numTokens\"\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Number of tokens committed to poll in sorted poll-linked-list", - "id": 3359, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getNumTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3342, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3359, - "src": "14618:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14618:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3344, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3359, - "src": "14634:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3343, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14634:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14617:30:5" - }, - "payable": false, - "returnParameters": { - "id": 3348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3347, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3359, - "src": "14673:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3346, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14673:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14672:16:5" - }, - "scope": 3488, - "src": "14596:175:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3373, - "nodeType": "Block", - "src": "15056:49:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15096:1:5", - "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" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3366, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "15073:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 3368, - "indexExpression": { - "argumentTypes": null, - "id": 3367, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "15080:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15073:14:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 3369, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2286, - "src": "15073:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 3371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15073:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3365, - "id": 3372, - "nodeType": "Return", - "src": "15066:32:5" - } - ] - }, - "documentation": "@dev Gets top element of sorted poll-linked-list\n@param _voter Address of user to check against\n@return Integer identifier to poll with maximum number of tokens committed to it", - "id": 3374, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLastNode", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3361, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3374, - "src": "15002:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15002:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15001:16:5" - }, - "payable": false, - "returnParameters": { - "id": 3365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3364, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 3374, - "src": "15043:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3363, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15043:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15042:13:5" - }, - "scope": 3488, - "src": "14981:124:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3388, - "nodeType": "Block", - "src": "15376:65:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3382, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "15406:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3384, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "15426:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3383, - "name": "getLastNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "15414:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15414:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3381, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "15393:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15393:41:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3380, - "id": 3387, - "nodeType": "Return", - "src": "15386:48:5" - } - ] - }, - "documentation": "@dev Gets the numTokens property of getLastNode\n@param _voter Address of user to check against\n@return Maximum number of tokens committed in poll specified", - "id": 3389, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getLockedTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3376, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "15319:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15319:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15318:16:5" - }, - "payable": false, - "returnParameters": { - "id": 3380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3379, - "name": "numTokens", - "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "15360:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3378, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15360:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15359:16:5" - }, - "scope": 3488, - "src": "15294:147:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3457, - "nodeType": "Block", - "src": "16278:990:5", - "statements": [ - { - "assignments": [ - 3401 - ], - "declarations": [ - { - "constant": false, - "id": 3401, - "name": "nodeID", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16363:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3400, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16363:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3405, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3403, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16389:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3402, - "name": "getLastNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "16377:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 3404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16377:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16363:33:5" - }, - { - "assignments": [ - 3407 - ], - "declarations": [ - { - "constant": false, - "id": 3407, - "name": "tokensInNode", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16404:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3406, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16404:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3412, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3409, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16437:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3410, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16445:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3408, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16424:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16424:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16404:48:5" - }, - { - "body": { - "id": 3453, - "nodeType": "Block", - "src": "16553:591:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3416, - "name": "tokensInNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3407, - "src": "16619:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3418, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16647:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3419, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16655:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3417, - "name": "getNumTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16634:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 3420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16634:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16619:43:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3422, - "nodeType": "ExpressionStatement", - "src": "16619:43:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3423, - "name": "tokensInNode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3407, - "src": "16675:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3424, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3393, - "src": "16691:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16675:26:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3443, - "nodeType": "IfStatement", - "src": "16672:324:5", - "trueBody": { - "id": 3442, - "nodeType": "Block", - "src": "16703:293:5", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3426, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16748:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3427, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3395, - "src": "16758:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16748:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3439, - "nodeType": "IfStatement", - "src": "16745:178:5", - "trueBody": { - "id": 3438, - "nodeType": "Block", - "src": "16767:156:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3429, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16871:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3434, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16903:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3430, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "16880:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 3432, - "indexExpression": { - "argumentTypes": null, - "id": 3431, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "16887:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16880:14:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 3433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2286, - "src": "16880:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16880:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16871:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3437, - "nodeType": "ExpressionStatement", - "src": "16871:39:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3440, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16978:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3399, - "id": 3441, - "nodeType": "Return", - "src": "16971:13:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3444, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "17096:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3449, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "17128:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3445, - "name": "dllMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "17105:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$2180_storage_$", - "typeString": "mapping(address => struct DLL.Data storage ref)" - } - }, - "id": 3447, - "indexExpression": { - "argumentTypes": null, - "id": 3446, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3391, - "src": "17112:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17105:14:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Data_$2180_storage", - "typeString": "struct DLL.Data storage ref" - } - }, - "id": 3448, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "getPrev", - "nodeType": "MemberAccess", - "referencedDeclaration": 2286, - "src": "17105:22:5", - "typeDescriptions": { - "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$2180_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2180_storage_ptr_$", - "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" - } - }, - "id": 3450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17105:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17096:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3452, - "nodeType": "ExpressionStatement", - "src": "17096:39:5" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3413, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "16540:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16550:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "16540:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3454, - "nodeType": "WhileStatement", - "src": "16534:610:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3455, - "name": "nodeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3401, - "src": "17255:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3399, - "id": 3456, - "nodeType": "Return", - "src": "17248:13:5" - } - ] - }, - "documentation": null, - "id": 3458, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getInsertPointForNumTokens", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3391, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16187:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16187:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3393, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16203:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3392, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16203:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3395, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16220:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3394, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16220:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16186:47:5" - }, - "payable": false, - "returnParameters": { - "id": 3399, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3398, - "name": "prevNode", - "nodeType": "VariableDeclaration", - "scope": 3458, - "src": "16263:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3397, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "16263:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16262:15:5" - }, - "scope": 3488, - "src": "16151:1117:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3471, - "nodeType": "Block", - "src": "17667:60:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3465, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "17685:5:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17685:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3467, - "name": "_terminationDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3460, - "src": "17703:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17685:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3469, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17684:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3464, - "id": 3470, - "nodeType": "Return", - "src": "17677:43:5" - } - ] - }, - "documentation": "@dev Checks if an expiration date has been reached\n@param _terminationDate Integer timestamp of date to compare current timestamp with\n@return expired Boolean indication of whether the terminationDate has passed", - "id": 3472, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isExpired", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3461, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3460, - "name": "_terminationDate", - "nodeType": "VariableDeclaration", - "scope": 3472, - "src": "17605:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3459, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17605:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17604:23:5" - }, - "payable": false, - "returnParameters": { - "id": 3464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3463, - "name": "expired", - "nodeType": "VariableDeclaration", - "scope": 3472, - "src": "17653:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3462, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17653:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17652:14:5" - }, - "scope": 3488, - "src": "17586:141:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3486, - "nodeType": "Block", - "src": "18041:49:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3482, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3474, - "src": "18068:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3483, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3476, - "src": "18075:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3481, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "18058:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18058:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 3480, - "id": 3485, - "nodeType": "Return", - "src": "18051:32:5" - } - ] - }, - "documentation": "@dev Generates an identifier which associates a user and a poll together\n@param _pollID Integer identifier associated with target poll\n@return UUID Hash which is deterministic from _user and _pollID", - "id": 3487, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "attrUUID", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3474, - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 3487, - "src": "17977:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17977:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3476, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "scope": 3487, - "src": "17992:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3475, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17992:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17976:29:5" - }, - "payable": false, - "returnParameters": { - "id": 3480, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3479, - "name": "UUID", - "nodeType": "VariableDeclaration", - "scope": 3487, - "src": "18027:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3478, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18027:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18026:14:5" - }, - "scope": 3488, - "src": "17959:131:5", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 3489, - "src": "292:17800:5" - } - ], - "src": "0:18093:5" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.151Z" -} \ No newline at end of file diff --git a/build/contracts/Parameterizer.json b/build/contracts/Parameterizer.json deleted file mode 100644 index 904f4db..0000000 --- a/build/contracts/Parameterizer.json +++ /dev/null @@ -1,28526 +0,0 @@ -{ - "contractName": "Parameterizer", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "PROCESSBY", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "name": "proposals", - "outputs": [ - { - "name": "appExpiry", - "type": "uint256" - }, - { - "name": "challengeID", - "type": "uint256" - }, - { - "name": "deposit", - "type": "uint256" - }, - { - "name": "name", - "type": "string" - }, - { - "name": "owner", - "type": "address" - }, - { - "name": "processBy", - "type": "uint256" - }, - { - "name": "value", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "challenges", - "outputs": [ - { - "name": "rewardPool", - "type": "uint256" - }, - { - "name": "challenger", - "type": "address" - }, - { - "name": "resolved", - "type": "bool" - }, - { - "name": "stake", - "type": "uint256" - }, - { - "name": "winningTokens", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "name": "params", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "voting", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_tokenAddr", - "type": "address" - }, - { - "name": "_plcrAddr", - "type": "address" - }, - { - "name": "_minDeposit", - "type": "uint256" - }, - { - "name": "_pMinDeposit", - "type": "uint256" - }, - { - "name": "_applyStageLen", - "type": "uint256" - }, - { - "name": "_pApplyStageLen", - "type": "uint256" - }, - { - "name": "_commitStageLen", - "type": "uint256" - }, - { - "name": "_pCommitStageLen", - "type": "uint256" - }, - { - "name": "_revealStageLen", - "type": "uint256" - }, - { - "name": "_pRevealStageLen", - "type": "uint256" - }, - { - "name": "_dispensationPct", - "type": "uint256" - }, - { - "name": "_pDispensationPct", - "type": "uint256" - }, - { - "name": "_voteQuorum", - "type": "uint256" - }, - { - "name": "_pVoteQuorum", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "name", - "type": "string" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "propID", - "type": "bytes32" - }, - { - "indexed": false, - "name": "deposit", - "type": "uint256" - }, - { - "indexed": false, - "name": "appEndDate", - "type": "uint256" - }, - { - "indexed": true, - "name": "proposer", - "type": "address" - } - ], - "name": "_ReparameterizationProposal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "propID", - "type": "bytes32" - }, - { - "indexed": false, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "commitEndDate", - "type": "uint256" - }, - { - "indexed": false, - "name": "revealEndDate", - "type": "uint256" - }, - { - "indexed": true, - "name": "challenger", - "type": "address" - } - ], - "name": "_NewChallenge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "propID", - "type": "bytes32" - }, - { - "indexed": false, - "name": "name", - "type": "string" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "_ProposalAccepted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "propID", - "type": "bytes32" - } - ], - "name": "_ProposalExpired", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "propID", - "type": "bytes32" - }, - { - "indexed": true, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalTokens", - "type": "uint256" - } - ], - "name": "_ChallengeSucceeded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "propID", - "type": "bytes32" - }, - { - "indexed": true, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalTokens", - "type": "uint256" - } - ], - "name": "_ChallengeFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "reward", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - } - ], - "name": "_RewardClaimed", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_name", - "type": "string" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "proposeReparameterization", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_propID", - "type": "bytes32" - } - ], - "name": "challengeReparameterization", - "outputs": [ - { - "name": "challengeID", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_propID", - "type": "bytes32" - } - ], - "name": "processProposal", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_challengeID", - "type": "uint256" - }, - { - "name": "_salt", - "type": "uint256" - } - ], - "name": "claimReward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_challengeID", - "type": "uint256" - }, - { - "name": "_salt", - "type": "uint256" - } - ], - "name": "voterReward", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_propID", - "type": "bytes32" - } - ], - "name": "canBeSet", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_propID", - "type": "bytes32" - } - ], - "name": "propExists", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_propID", - "type": "bytes32" - } - ], - "name": "challengeCanBeResolved", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_challengeID", - "type": "uint256" - } - ], - "name": "challengeWinnerReward", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_name", - "type": "string" - } - ], - "name": "get", - "outputs": [ - { - "name": "value", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_challengeID", - "type": "uint256" - }, - { - "name": "_voter", - "type": "address" - } - ], - "name": "tokenClaims", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405262093a806005553480156200001857600080fd5b506040516101c0806200398083398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508d600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001916040805190810160405280600a81526020017f6d696e4465706f736974000000000000000000000000000000000000000000008152508d62000515640100000000026401000000009004565b620001e16040805190810160405280600b81526020017f704d696e4465706f7369740000000000000000000000000000000000000000008152508c62000515640100000000026401000000009004565b620002316040805190810160405280600d81526020017f6170706c7953746167654c656e000000000000000000000000000000000000008152508b62000515640100000000026401000000009004565b620002816040805190810160405280600e81526020017f704170706c7953746167654c656e0000000000000000000000000000000000008152508a62000515640100000000026401000000009004565b620002d16040805190810160405280600e81526020017f636f6d6d697453746167654c656e0000000000000000000000000000000000008152508962000515640100000000026401000000009004565b620003216040805190810160405280600f81526020017f70436f6d6d697453746167654c656e00000000000000000000000000000000008152508862000515640100000000026401000000009004565b620003716040805190810160405280600e81526020017f72657665616c53746167654c656e0000000000000000000000000000000000008152508762000515640100000000026401000000009004565b620003c16040805190810160405280600f81526020017f7052657665616c53746167654c656e00000000000000000000000000000000008152508662000515640100000000026401000000009004565b620004116040805190810160405280600f81526020017f64697370656e736174696f6e50637400000000000000000000000000000000008152508562000515640100000000026401000000009004565b620004616040805190810160405280601081526020017f7044697370656e736174696f6e506374000000000000000000000000000000008152508462000515640100000000026401000000009004565b620004b16040805190810160405280600a81526020017f766f746551756f72756d000000000000000000000000000000000000000000008152508362000515640100000000026401000000009004565b620005016040805190810160405280600b81526020017f70566f746551756f72756d0000000000000000000000000000000000000000008152508262000515640100000000026401000000009004565b50505050505050505050505050506200059c565b80600080846040518082805190602001908083835b6020831015156200055157805182526020820191506020810190506020830392506200052a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b6133d480620005ac6000396000f3006080604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461012057806332ed5b12146101515780633530099014610251578063504115521461029a578063693ec85e146102db57806377609a41146103585780638240ae4b146103a157806386bb8f37146103e65780638f1d37761461041d578063a5ba3b1e146104aa578063a7aad3db1461050f578063bade1c541461057a578063c51131fb14610609578063dc6ab52714610652578063fc0c546a14610697578063fce1ccca146106ee575b600080fd5b34801561010157600080fd5b5061010a610745565b6040518082815260200191505060405180910390f35b34801561012c57600080fd5b5061014f600480360381019080803560001916906020019092919050505061074b565b005b34801561015d57600080fd5b506101806004803603810190808035600019169060200190929190505050610eb4565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156102105780820151818401526020810190506101f5565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561025d57600080fd5b506102806004803603810190808035600019169060200190929190505050610fae565b604051808215151515815260200191505060405180910390f35b3480156102a657600080fd5b506102c560048036038101908080359060200190929190505050610fd8565b6040518082815260200191505060405180910390f35b3480156102e757600080fd5b50610342600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611108565b6040518082815260200191505060405180910390f35b34801561036457600080fd5b50610387600480360381019080803560001916906020019092919050505061118e565b604051808215151515815260200191505060405180910390f35b3480156103ad57600080fd5b506103d060048036038101908080356000191690602001909291905050506114a4565b6040518082815260200191505060405180910390f35b3480156103f257600080fd5b5061041b6004803603810190808035906020019092919080359060200190929190505050611be4565b005b34801561042957600080fd5b5061044860048036038101908080359060200190929190505050611fba565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b3480156104b657600080fd5b506104f560048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061201d565b604051808215151515815260200191505060405180910390f35b34801561051b57600080fd5b50610564600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612088565b6040518082815260200191505060405180910390f35b34801561058657600080fd5b506105eb600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001909291905050506121e4565b60405180826000191660001916815260200191505060405180910390f35b34801561061557600080fd5b5061063860048036038101908080356000191690602001909291905050506128b5565b604051808215151515815260200191505060405180910390f35b34801561065e57600080fd5b506106816004803603810190808035600019169060200190929190505050612a40565b6040518082815260200191505060405180910390f35b3480156106a357600080fd5b506106ac612a58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106fa57600080fd5b50610703612a7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107a4846128b5565b15610aad57610853836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b50505050508460060154612aa4565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050935050505060405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610964919061321f565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b505050506040513d6020811015610a8c57600080fd5b81019080805190602001909291905050501515610aa857600080fd5b610c9a565b610ab68461118e565b15610ac957610ac484612b29565b610c99565b8260050154421115610c935783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610b4a919061321f565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c4857600080fd5b505af1158015610c5c573d6000803e3d6000fd5b505050506040513d6020811015610c7257600080fd5b81019080805190602001909291905050501515610c8e57600080fd5b610c98565b600080fd5b5b5b6064610cda6040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250611108565b11151515610ce457fe5b6064610d246040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b11151515610d2e57fe5b610e30600554610e22610d756040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b610e14610db66040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b610e06610df76040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610e75919061321f565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f725780601f10610f4757610100808354040283529160200191610f72565b820191906000526020600020905b815481529060010190602001808311610f5557829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561106c57600080fd5b505af1158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b810190808051906020019092919050505014156110ce5760016000838152602001908152602001600020600201546002029050611103565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040518082805190602001908083835b602083101515611143578051825260208201915060208101905060208303925061111e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000611198613267565b6111a06132bb565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561127e5780601f106112535761010080835404028352916020019161127e565b820191906000526020600020905b81548152906001019060200180831161126157829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050600082602001511180156113c357506000151581604001511515145b801561149b5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d602081101561148957600080fd5b81019080805190602001909291905050505b92505050919050565b60006114ae613267565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115925780601f1061156757610100808354040283529160200191611592565b820191906000526020600020905b81548152906001019060200180831161157557829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505094508460400151935061161787610fae565b8015611627575060008560200151145b151561163257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d606116ae6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250611108565b6116ec6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b61172a6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561178a57600080fd5b505af115801561179e573d6000803e3d6000fd5b505050506040513d60208110156117b457600080fd5b8101908080519060200190929190505050925060a060405190810160405280611840606461183288611824606461181f6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b6131b8565b6131d190919063ffffffff16565b61320490919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611a2c57600080fd5b505af1158015611a40573d6000803e3d6000fd5b505050506040513d6020811015611a5657600080fd5b81019080805190602001909291905050501515611a7257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b158015611b0357600080fd5b505af1158015611b17573d6000803e3d6000fd5b505050506040513d60a0811015611b2d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611c5a57600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611c9057600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611d5d57600080fd5b505af1158015611d71573d6000803e3d6000fd5b505050506040513d6020811015611d8757600080fd5b81019080805190602001909291905050509150611da5338585612088565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f6e57600080fd5b505af1158015611f82573d6000803e3d6000fd5b505050506040513d6020811015611f9857600080fd5b81019080805190602001909291905050501515611fb457600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b15801561218d57600080fd5b505af11580156121a1573d6000803e3d6000fd5b505050506040513d60208110156121b757600080fd5b81019080805190602001909291905050509050828282028115156121d757fe5b0493505050509392505050565b60008060006122276040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250611108565b915084846040518083805190602001908083835b602083101515612260578051825260208201915060208101905060208303925061223b565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040518091039020905060405180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f019050604051809103902060001916856040518082805190602001908083835b60208310151561230657805182526020820191506020810190506020830392506122e1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614806123e1575060405180807f7044697370656e736174696f6e506374000000000000000000000000000000008152506010019050604051809103902060001916856040518082805190602001908083835b6020831015156123ae5780518252602082019150602081019050602083039250612389565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b156123f757606484111515156123f657600080fd5b5b61240081610fae565b15151561240c57600080fd5b8361241686611108565b1415151561242357600080fd5b60e06040519081016040528061247f6124706040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261319a90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016125b56005546125a76124fa6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b61259961253b6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b61258b61257c6040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b8152602001858152506002600083600019166000191681526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003019080519060200190612613929190613303565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561276b57600080fd5b505af115801561277f573d6000803e3d6000fd5b505050506040513d602081101561279557600080fd5b810190808051906020019092919050505015156127b157600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561286c578082015181840152602081019050612851565b50505050905090810190601f1680156128995780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b60006128bf613267565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561299d5780601f106129725761010080835404028352916020019161299d565b820191906000526020600020905b81548152906001019060200180831161298057829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509050806000015142118015612a2857508060a0015142105b8015612a38575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040518082805190602001908083835b602083101515612ade5780518252602082019150602081019050602083039250612ab9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b612b31613267565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c125780601f10612be757610100808354040283529160200191612c12565b820191906000526020600020905b815481529060010190602001808311612bf557829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612cad8360200151610fd8565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612d4457600080fd5b505af1158015612d58573d6000803e3d6000fd5b505050506040513d6020811015612d6e57600080fd5b8101908080519060200190929190505050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612e3957600080fd5b505af1158015612e4d573d6000803e3d6000fd5b505050506040513d6020811015612e6357600080fd5b810190808051906020019092919050505015612ffd57428360a001511115612e9857612e9783606001518460c00151612aa4565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612fb257600080fd5b505af1158015612fc6573d6000803e3d6000fd5b505050506040513d6020811015612fdc57600080fd5b81019080805190602001909291905050501515612ff857600080fd5b613194565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561314d57600080fd5b505af1158015613161573d6000803e3d6000fd5b505050506040513d602081101561317757600080fd5b8101908080519060200190929190505050151561319357600080fd5b5b50505050565b60008082840190508381101515156131ae57fe5b8091505092915050565b60008282111515156131c657fe5b818303905092915050565b600080828402905060008414806131f257508284828115156131ef57fe5b04145b15156131fa57fe5b8091505092915050565b600080828481151561321257fe5b0490508091505092915050565b50805460018160011615610100020316600290046000825580601f106132455750613264565b601f0160209004906000526020600020908101906132639190613383565b5b50565b60e06040519081016040528060008152602001600081526020016000815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061334457805160ff1916838001178555613372565b82800160010185558215613372579182015b82811115613371578251825591602001919060010190613356565b5b50905061337f9190613383565b5090565b6133a591905b808211156133a1576000816000905550600101613389565b5090565b905600a165627a7a7230582004ceef871309804ccd13df14246544b15f3f3df7ee857efac47b79d35ae20c1e0029", - "deployedBytecode": "0x6080604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461012057806332ed5b12146101515780633530099014610251578063504115521461029a578063693ec85e146102db57806377609a41146103585780638240ae4b146103a157806386bb8f37146103e65780638f1d37761461041d578063a5ba3b1e146104aa578063a7aad3db1461050f578063bade1c541461057a578063c51131fb14610609578063dc6ab52714610652578063fc0c546a14610697578063fce1ccca146106ee575b600080fd5b34801561010157600080fd5b5061010a610745565b6040518082815260200191505060405180910390f35b34801561012c57600080fd5b5061014f600480360381019080803560001916906020019092919050505061074b565b005b34801561015d57600080fd5b506101806004803603810190808035600019169060200190929190505050610eb4565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156102105780820151818401526020810190506101f5565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561025d57600080fd5b506102806004803603810190808035600019169060200190929190505050610fae565b604051808215151515815260200191505060405180910390f35b3480156102a657600080fd5b506102c560048036038101908080359060200190929190505050610fd8565b6040518082815260200191505060405180910390f35b3480156102e757600080fd5b50610342600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611108565b6040518082815260200191505060405180910390f35b34801561036457600080fd5b50610387600480360381019080803560001916906020019092919050505061118e565b604051808215151515815260200191505060405180910390f35b3480156103ad57600080fd5b506103d060048036038101908080356000191690602001909291905050506114a4565b6040518082815260200191505060405180910390f35b3480156103f257600080fd5b5061041b6004803603810190808035906020019092919080359060200190929190505050611be4565b005b34801561042957600080fd5b5061044860048036038101908080359060200190929190505050611fba565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b3480156104b657600080fd5b506104f560048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061201d565b604051808215151515815260200191505060405180910390f35b34801561051b57600080fd5b50610564600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612088565b6040518082815260200191505060405180910390f35b34801561058657600080fd5b506105eb600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001909291905050506121e4565b60405180826000191660001916815260200191505060405180910390f35b34801561061557600080fd5b5061063860048036038101908080356000191690602001909291905050506128b5565b604051808215151515815260200191505060405180910390f35b34801561065e57600080fd5b506106816004803603810190808035600019169060200190929190505050612a40565b6040518082815260200191505060405180910390f35b3480156106a357600080fd5b506106ac612a58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106fa57600080fd5b50610703612a7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107a4846128b5565b15610aad57610853836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b50505050508460060154612aa4565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050935050505060405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610964919061321f565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b505050506040513d6020811015610a8c57600080fd5b81019080805190602001909291905050501515610aa857600080fd5b610c9a565b610ab68461118e565b15610ac957610ac484612b29565b610c99565b8260050154421115610c935783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610b4a919061321f565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c4857600080fd5b505af1158015610c5c573d6000803e3d6000fd5b505050506040513d6020811015610c7257600080fd5b81019080805190602001909291905050501515610c8e57600080fd5b610c98565b600080fd5b5b5b6064610cda6040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250611108565b11151515610ce457fe5b6064610d246040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b11151515610d2e57fe5b610e30600554610e22610d756040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b610e14610db66040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b610e06610df76040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610e75919061321f565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f725780601f10610f4757610100808354040283529160200191610f72565b820191906000526020600020905b815481529060010190602001808311610f5557829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561106c57600080fd5b505af1158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b810190808051906020019092919050505014156110ce5760016000838152602001908152602001600020600201546002029050611103565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040518082805190602001908083835b602083101515611143578051825260208201915060208101905060208303925061111e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000611198613267565b6111a06132bb565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561127e5780601f106112535761010080835404028352916020019161127e565b820191906000526020600020905b81548152906001019060200180831161126157829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050600082602001511180156113c357506000151581604001511515145b801561149b5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d602081101561148957600080fd5b81019080805190602001909291905050505b92505050919050565b60006114ae613267565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115925780601f1061156757610100808354040283529160200191611592565b820191906000526020600020905b81548152906001019060200180831161157557829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505094508460400151935061161787610fae565b8015611627575060008560200151145b151561163257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d606116ae6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250611108565b6116ec6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b61172a6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561178a57600080fd5b505af115801561179e573d6000803e3d6000fd5b505050506040513d60208110156117b457600080fd5b8101908080519060200190929190505050925060a060405190810160405280611840606461183288611824606461181f6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b6131b8565b6131d190919063ffffffff16565b61320490919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611a2c57600080fd5b505af1158015611a40573d6000803e3d6000fd5b505050506040513d6020811015611a5657600080fd5b81019080805190602001909291905050501515611a7257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b158015611b0357600080fd5b505af1158015611b17573d6000803e3d6000fd5b505050506040513d60a0811015611b2d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611c5a57600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611c9057600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611d5d57600080fd5b505af1158015611d71573d6000803e3d6000fd5b505050506040513d6020811015611d8757600080fd5b81019080805190602001909291905050509150611da5338585612088565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f6e57600080fd5b505af1158015611f82573d6000803e3d6000fd5b505050506040513d6020811015611f9857600080fd5b81019080805190602001909291905050501515611fb457600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b15801561218d57600080fd5b505af11580156121a1573d6000803e3d6000fd5b505050506040513d60208110156121b757600080fd5b81019080805190602001909291905050509050828282028115156121d757fe5b0493505050509392505050565b60008060006122276040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250611108565b915084846040518083805190602001908083835b602083101515612260578051825260208201915060208101905060208303925061223b565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040518091039020905060405180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f019050604051809103902060001916856040518082805190602001908083835b60208310151561230657805182526020820191506020810190506020830392506122e1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614806123e1575060405180807f7044697370656e736174696f6e506374000000000000000000000000000000008152506010019050604051809103902060001916856040518082805190602001908083835b6020831015156123ae5780518252602082019150602081019050602083039250612389565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b156123f757606484111515156123f657600080fd5b5b61240081610fae565b15151561240c57600080fd5b8361241686611108565b1415151561242357600080fd5b60e06040519081016040528061247f6124706040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261319a90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016125b56005546125a76124fa6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b61259961253b6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b61258b61257c6040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b61319a90919063ffffffff16565b8152602001858152506002600083600019166000191681526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003019080519060200190612613929190613303565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561276b57600080fd5b505af115801561277f573d6000803e3d6000fd5b505050506040513d602081101561279557600080fd5b810190808051906020019092919050505015156127b157600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b8381101561286c578082015181840152602081019050612851565b50505050905090810190601f1680156128995780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b60006128bf613267565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561299d5780601f106129725761010080835404028352916020019161299d565b820191906000526020600020905b81548152906001019060200180831161298057829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509050806000015142118015612a2857508060a0015142105b8015612a38575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040518082805190602001908083835b602083101515612ade5780518252602082019150602081019050602083039250612ab9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b612b31613267565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c125780601f10612be757610100808354040283529160200191612c12565b820191906000526020600020905b815481529060010190602001808311612bf557829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612cad8360200151610fd8565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612d4457600080fd5b505af1158015612d58573d6000803e3d6000fd5b505050506040513d6020811015612d6e57600080fd5b8101908080519060200190929190505050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612e3957600080fd5b505af1158015612e4d573d6000803e3d6000fd5b505050506040513d6020811015612e6357600080fd5b810190808051906020019092919050505015612ffd57428360a001511115612e9857612e9783606001518460c00151612aa4565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612fb257600080fd5b505af1158015612fc6573d6000803e3d6000fd5b505050506040513d6020811015612fdc57600080fd5b81019080805190602001909291905050501515612ff857600080fd5b613194565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561314d57600080fd5b505af1158015613161573d6000803e3d6000fd5b505050506040513d602081101561317757600080fd5b8101908080519060200190929190505050151561319357600080fd5b5b50505050565b60008082840190508381101515156131ae57fe5b8091505092915050565b60008282111515156131c657fe5b818303905092915050565b600080828402905060008414806131f257508284828115156131ef57fe5b04145b15156131fa57fe5b8091505092915050565b600080828481151561321257fe5b0490508091505092915050565b50805460018160011615610100020316600290046000825580601f106132455750613264565b601f0160209004906000526020600020908101906132639190613383565b5b50565b60e06040519081016040528060008152602001600081526020016000815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061334457805160ff1916838001178555613372565b82800160010185558215613372579182015b82811115613371578251825591602001919060010190613356565b5b50905061337f9190613383565b5090565b6133a591905b808211156133a1576000816000905550600101613389565b5090565b905600a165627a7a7230582004ceef871309804ccd13df14246544b15f3f3df7ee857efac47b79d35ae20c1e0029", - "sourceMap": "142:14370:1:-;;;2014:6;1990:30;;3266:977;8:9:-1;5:2;;;30:1;27;20:12;5:2;3266:977:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3682:10;3659:5;;:34;;;;;;;;;;;;;;;;;;3719:9;3699:6;;:30;;;;;;;;;;;;;;;;;;3736;;;;;;;;;;;;;;;;;;;3754:11;3736:3;;;:30;;;:::i;:::-;3772:32;;;;;;;;;;;;;;;;;;;3791:12;3772:3;;;:32;;;:::i;:::-;3810:36;;;;;;;;;;;;;;;;;;;3831:14;3810:3;;;:36;;;:::i;:::-;3852:38;;;;;;;;;;;;;;;;;;;3874:15;3852:3;;;:38;;;:::i;:::-;3896;;;;;;;;;;;;;;;;;;;3918:15;3896:3;;;:38;;;:::i;:::-;3940:40;;;;;;;;;;;;;;;;;;;3963:16;3940:3;;;:40;;;:::i;:::-;3986:38;;;;;;;;;;;;;;;;;;;4008:15;3986:3;;;:38;;;:::i;:::-;4030:40;;;;;;;;;;;;;;;;;;;4053:16;4030:3;;;:40;;;:::i;:::-;4076;;;;;;;;;;;;;;;;;;;4099:16;4076:3;;;:40;;;:::i;:::-;4122:42;;;;;;;;;;;;;;;;;;;4146:17;4122:3;;;:42;;;:::i;:::-;4170:30;;;;;;;;;;;;;;;;;;;4188:11;4170:3;;;:30;;;:::i;:::-;4206:32;;;;;;;;;;;;;;;;;;;4225:12;4206:3;;;:32;;;:::i;:::-;3266:977;;;;;;;;;;;;;;142:14370;;14418:92;14499:6;14472;:24;14489:5;14479:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;14479:16:1;;;;;;;;;;;;;;;;14472:24;;;;;;;;;;;;;;;;;:33;;;;14418:92;;:::o;142:14370::-;;;;;;;", - "deployedSourceMap": "142:14370:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1990:30:1;;;;;;;;;;;;;;;;;;;;;;;7087:1608;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7087:1608:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1854:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1854:50:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1854:50:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11223:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11223:114:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11973:370;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11973:370:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12499:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12499:102:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11504:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11504:301:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5766:1026;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5766:1026:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8920:903;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8920:903:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1748:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1748:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12816:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12816:145:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10279:363;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10279:363:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4538:1087;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4538:1087:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10859:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10859:204:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1653:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1653:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1931:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1931:27:1;;;;;;;;;;;;;;;;;;;;;;;;;;;1962:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1962:24:1;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:30;;;;:::o;7087:1608::-;7142:26;7195:17;7231:16;7171:9;:18;7181:7;7171:18;;;;;;;;;;;;;;;;;7142:47;;7215:4;:10;;;;;;;;;;;;7195:30;;7250:4;:12;;;7231:31;;7443:17;7452:7;7443:8;:17::i;:::-;7439:920;;;7631:26;7635:4;:9;;7631:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7646:4;:10;;;7631:3;:26::i;:::-;7688:7;7670:49;;;;7697:4;:9;;7708:4;:10;;;7670:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7734:9;:18;7744:7;7734:18;;;;;;;;;;;;;;;;;;7727:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7768:5;;;;;;;;;;;:14;;;7783:9;7794:11;7768:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7768:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7768:38:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7768:38:1;;;;;;;;;;;;;;;;7760:47;;;;;;;;7439:920;;;7824:31;7847:7;7824:22;:31::i;:::-;7820:539;;;7917:25;7934:7;7917:16;:25::i;:::-;7820:539;;;7965:4;:14;;;7959:3;:20;7955:404;;;8099:7;8082:25;;;;;;;;;;;;;8122:9;:18;8132:7;8122:18;;;;;;;;;;;;;;;;;;8115:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8156:5;;;;;;;;;;;:14;;;8171:9;8182:11;8156:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8156:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8156:38:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8156:38:1;;;;;;;;;;;;;;;;8148:47;;;;;;;;7955:404;;;8344:8;;;7955:404;7820:539;7439:920;8398:3;8372:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;:29;;8365:37;;;;;;8442:3;8415:23;;;;;;;;;;;;;;;;;;;:3;:23::i;:::-;:30;;8408:38;;;;;;8536:122;8648:9;;8536:100;8613:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;8536:65;8578:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;8536:30;8544:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;8536:3;:7;;:30;;;;:::i;:::-;:41;;:65;;;;:::i;:::-;:76;;:100;;;;:::i;:::-;:111;;:122;;;;:::i;:::-;;8672:9;:18;8682:7;8672:18;;;;;;;;;;;;;;;;;;8665:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7087:1608;;;;:::o;1854:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11223:114::-;11281:4;11331:1;11300:9;:18;11310:7;11300:18;;;;;;;;;;;;;;;;;:28;;;:32;11293:39;;11223:114;;;:::o;11973:370::-;12044:4;12123:1;12060:6;;;;;;;;;;;:45;;;12106:12;12060:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12060:59:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12060:59:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12060:59:1;;;;;;;;;;;;;;;;:64;12056:195;;;12214:10;:24;12225:12;12214:24;;;;;;;;;;;:30;;;12210:1;:34;12203:41;;;;12056:195;12303:10;:24;12314:12;12303:24;;;;;;;;;;;:35;;;12269:10;:24;12280:12;12269:24;;;;;;;;;;;:30;;;12265:1;:34;12264:74;12257:81;;11973:370;;;;:::o;12499:102::-;12547:10;12572:6;:24;12589:5;12579:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;12579:16:1;;;;;;;;;;;;;;;;12572:24;;;;;;;;;;;;;;;;;;12565:31;;12499:102;;;:::o;11504:301::-;11574:4;11586:25;;:::i;:::-;11638:26;;:::i;:::-;11614:9;:18;11624:7;11614:18;;;;;;;;;;;;;;;;;11586:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11667:10;:28;11678:4;:16;;;11667:28;;;;;;;;;;;11638:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11729:1;11710:4;:16;;;:20;:51;;;;;11756:5;11734:27;;:9;:18;;;:27;;;11710:51;:89;;;;;11765:6;;;;;;;;;;;:16;;;11782:4;:16;;;11765:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11765:34:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11765:34:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11765:34:1;;;;;;;;;;;;;;;;11710:89;11702:98;;11504:301;;;;;:::o;5766:1026::-;5836:16;5860:25;;:::i;:::-;5912:12;6023:11;6576:18;6600;5888:9;:18;5898:7;5888:18;;;;;;;;;;;;;;;;;5860:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5927:4;:12;;;5912:27;;5954:19;5965:7;5954:10;:19::i;:::-;:44;;;;;5997:1;5977:4;:16;;;:21;5954:44;5946:53;;;;;;;;6037:6;;;;;;;;;;;:16;;;6061:18;;;;;;;;;;;;;;;;;;;:3;:18::i;:::-;6087:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;6117;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;6037:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6037:108:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6037:108:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6037:108:1;;;;;;;;;;;;;;;;6023:122;;6173:200;;;;;;;;;6233:64;6293:3;6233:55;6280:7;6233:42;6246:3;6251:23;;;;;;;;;;;;;;;;;;;:3;:23::i;:::-;6233:12;:42::i;:::-;:46;;:55;;;;:::i;:::-;:59;;:64;;;;:::i;:::-;6173:200;;;;6203:10;6173:200;;;;;;6337:5;6173:200;;;;;;6312:7;6173:200;;;;6365:1;6173:200;;;6152:10;:18;6163:6;6152:18;;;;;;;;;;;:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6413:6;6380:9;:18;6390:7;6380:18;;;;;;;;;;;;;;;;;:30;;:39;;;;6523:5;;;;;;;;;;;:18;;;6542:10;6554:4;6560:7;6523:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6523:45:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6523:45:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6523:45:1;;;;;;;;;;;;;;;;6515:54;;;;;;;;6658:6;;;;;;;;;;;:14;;;6673:6;6658:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6658:22:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6658:22:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6658:22:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6624:56;;;;;;;;;;;;;;6757:10;6696:72;;6710:7;6696:72;;;;6719:6;6727:13;6742;6696:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6781:6;6774:13;;5766:1026;;;;;;;;:::o;8920:903::-;9207:16;9291:11;9138:5;9086:57;;:10;:24;9097:12;9086:24;;;;;;;;;;;:36;;:48;9123:10;9086:48;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;9078:66;;;;;;;;9195:4;9158:41;;:10;:24;9169:12;9158:24;;;;;;;;;;;:33;;;;;;;;;;;;:41;;;9150:50;;;;;;;;9226:6;;;;;;;;;;;:26;;;9253:10;9265:12;9279:5;9226:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9226:59:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9226:59:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9226:59:1;;;;;;;;;;;;;;;;9207:78;;9305:44;9317:10;9329:12;9343:5;9305:11;:44::i;:::-;9291:58;;9536:11;9494:10;:24;9505:12;9494:24;;;;;;;;;;;:38;;;:53;;;;;;;;;;;9592:6;9553:10;:24;9564:12;9553:24;;;;;;;;;;;:35;;;:45;;;;;;;;;;;9705:4;9654:10;:24;9665:12;9654:24;;;;;;;;;;;:36;;:48;9691:10;9654:48;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;9758:10;9721:48;;9736:12;9721:48;9750:6;9721:48;;;;;;;;;;;;;;;;;;9783:5;;;;;;;;;;;:14;;;9798:10;9810:6;9783:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9783:34:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9783:34:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9783:34:1;;;;;;;;;;;;;;;;9775:43;;;;;;;;8920:903;;;;:::o;1748:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12816:145::-;12893:4;12912:10;:24;12923:12;12912:24;;;;;;;;;;;:36;;:44;12949:6;12912:44;;;;;;;;;;;;;;;;;;;;;;;;;12905:51;;12816:145;;;;:::o;10279:363::-;10370:4;10384:18;10449:15;10508:16;10405:10;:24;10416:12;10405:24;;;;;;;;;;;:38;;;10384:59;;10467:10;:24;10478:12;10467:24;;;;;;;;;;;:35;;;10449:53;;10527:6;;;;;;;;;;;:26;;;10554:6;10562:12;10576:5;10527:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10527:55:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10527:55:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10527:55:1;;;;;;;;;;;;;;;;10508:74;;10624:13;10610:10;10596:11;:24;10595:42;;;;;;;;10588:49;;10279:363;;;;;;;;:::o;4538:1087::-;4616:7;4631:12;4670:14;4646:18;;;;;;;;;;;;;;;;;;;:3;:18::i;:::-;4631:33;;4697:5;4704:6;4687:24;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4687:24:1;;;;;;;;;;;;;;;;;;;;;;4670:41;;4742:28;;;;;;;;;;;;;;;;;;;4722:48;;;4732:5;4722:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4722:16:1;;;;;;;;;;;;;;;;:48;;;;:108;;;;4801:29;;;;;;;;;;;;;;;;;;;4781:49;;;4791:5;4781:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4781:16:1;;;;;;;;;;;;;;;;:49;;;;4722:108;4718:151;;;4858:3;4848:6;:13;;4840:22;;;;;;;;4718:151;4884:18;4895:6;4884:10;:18::i;:::-;4883:19;4875:28;;;;;;;;4961:6;4947:10;4951:5;4947:3;:10::i;:::-;:20;;4939:29;;;;;;;;5069:328;;;;;;;;;5102:30;5110:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;5102:3;:7;;:30;;;;:::i;:::-;5069:328;;;;5153:1;5069:328;;;;5171:7;5069:328;;;;5192:5;5069:328;;;;5212:10;5069:328;;;;;;5241:128;5359:9;;5241:104;5322:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;5241:67;5285:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;5241:30;5249:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;5241:3;:7;;:30;;;;:::i;:::-;:43;;:67;;;;:::i;:::-;:80;;:104;;;;:::i;:::-;:117;;:128;;;;:::i;:::-;5069:328;;;;5384:6;5069:328;;;5049:9;:17;5059:6;5049:17;;;;;;;;;;;;;;;;;:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5412:5;;;;;;;;;;;:18;;;5431:10;5443:4;5449:7;5412:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5412:45:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5412:45:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5412:45:1;;;;;;;;;;;;;;;;5404:54;;;;;;;;5590:10;5501:100;;;5529:5;5536:6;5544;5552:7;5561:9;:17;5571:6;5561:17;;;;;;;;;;;;;;;;;:27;;;5501:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5501:100:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5614:6;5607:13;;4538:1087;;;;;;:::o;10859:204::-;10915:4;10927:25;;:::i;:::-;10955:9;:18;10965:7;10955:18;;;;;;;;;;;;;;;;;10927:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10994:4;:14;;;10988:3;:20;:44;;;;;11018:4;:14;;;11012:3;:20;10988:44;:69;;;;;11056:1;11036:4;:16;;;:21;10988:69;10980:78;;10859:204;;;;:::o;1653:38::-;;;;;;;;;;;;;;;;;:::o;1931:27::-;;;;;;;;;;;;;:::o;1962:24::-;;;;;;;;;;;;;:::o;14418:92::-;14499:6;14472;:24;14489:5;14479:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;14479:16:1;;;;;;;;;;;;;;;;14472:24;;;;;;;;;;;;;;;;;:33;;;;14418:92;;:::o;13238:994::-;13295:25;;:::i;:::-;13347:27;13497:11;13323:9;:18;13333:7;13323:18;;;;;;;;;;;;;;;;;13295:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13377:10;:28;13388:4;:16;;;13377:28;;;;;;;;;;;13347:58;;13511:39;13533:4;:16;;;13511:21;:39::i;:::-;13497:53;;13583:6;;;;;;;;;;;:45;;;13629:4;:16;;;13583:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13583:63:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13583:63:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13583:63:1;;;;;;;;;;;;;;;;13557:9;:23;;:89;;;;13673:4;13652:9;:18;;;:25;;;;;;;;;;;;;;;;;;13688:6;;;;;;;;;;;:15;;;13704:4;:16;;;13688:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13688:33:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13688:33:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13688:33:1;;;;;;;;;;;;;;;;13684:544;;;13776:3;13759:4;:14;;;:20;13755:71;;;13791:26;13795:4;:9;;;13806:4;:10;;;13791:3;:26::i;:::-;13755:71;13864:4;:16;;;13855:7;13838:90;;;;13882:9;:20;;;13904:9;:23;;;13838:90;;;;;;;;;;;;;;;;;;;;;;;;13944:5;;;;;;;;;;;:14;;;13959:4;:10;;;13971:6;13944:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13944:34:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13944:34:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13944:34:1;;;;;;;;;;;;;;;;13936:43;;;;;;;;13684:544;;;14077:4;:16;;;14068:7;14048:93;;;;14095:9;:20;;;14117:9;:23;;;14048:93;;;;;;;;;;;;;;;;;;;;;;;;14157:5;;;;;;;;;;;:14;;;14172:10;:28;14183:4;:16;;;14172:28;;;;;;;;;;;:39;;;;;;;;;;;;14213:6;14157:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14157:63:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14157:63:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14157:63:1;;;;;;;;;;;;;;;;14149:72;;;;;;;;13684:544;13238:994;;;;:::o;680:133:8:-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o;562:114::-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o;138:147::-;200:7;215:9;231:1;227;:5;215:17;;250:1;245;:6;:20;;;;264:1;259;255;:5;;;;;;;;:10;245:20;238:28;;;;;;279:1;272:8;;138:147;;;;;:::o;289:269::-;351:7;440:9;456:1;452;:5;;;;;;;;440:17;;552:1;545:8;;289:269;;;;;:::o;142:14370:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"plcrvoting/PLCRVoting.sol\";\nimport \"tokens/eip20/EIP20Interface.sol\";\nimport \"zeppelin/math/SafeMath.sol\";\n\n\ncontract Parameterizer {\n\n // ------\n // EVENTS\n // ------\n\n event _ReparameterizationProposal(string name, uint value, bytes32 propID, uint deposit, uint appEndDate, address indexed proposer);\n event _NewChallenge(bytes32 indexed propID, uint challengeID, uint commitEndDate, uint revealEndDate, address indexed challenger);\n event _ProposalAccepted(bytes32 indexed propID, string name, uint value);\n event _ProposalExpired(bytes32 indexed propID);\n event _ChallengeSucceeded(bytes32 indexed propID, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _ChallengeFailed(bytes32 indexed propID, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _RewardClaimed(uint indexed challengeID, uint reward, address indexed voter);\n\n\n // ------\n // DATA STRUCTURES\n // ------\n\n using SafeMath for uint;\n\n struct ParamProposal {\n uint appExpiry;\n uint challengeID;\n uint deposit;\n string name;\n address owner;\n uint processBy;\n uint value;\n }\n\n struct Challenge {\n uint rewardPool; // (remaining) pool of tokens distributed amongst winning voters\n address challenger; // owner of Challenge\n bool resolved; // indication of if challenge is resolved\n uint stake; // number of tokens at risk for either party during challenge\n uint winningTokens; // (remaining) amount of tokens used for voting by the winning side\n mapping(address => bool) tokenClaims;\n }\n\n // ------\n // STATE\n // ------\n\n mapping(bytes32 => uint) public params;\n\n // maps challengeIDs to associated challenge data\n mapping(uint => Challenge) public challenges;\n\n // maps pollIDs to intended data change if poll passes\n mapping(bytes32 => ParamProposal) public proposals;\n\n // Global Variables\n EIP20Interface public token;\n PLCRVoting public voting;\n uint public PROCESSBY = 604800; // 7 days\n\n // ------------\n // CONSTRUCTOR\n // ------------\n\n /**\n @dev constructor\n @param _tokenAddr address of the token which parameterizes this system\n @param _plcrAddr address of a PLCR voting contract for the provided token\n @param _minDeposit minimum deposit for listing to be whitelisted\n @param _pMinDeposit minimum deposit to propose a reparameterization\n @param _applyStageLen period over which applicants wait to be whitelisted\n @param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n @param _dispensationPct percentage of losing party's deposit distributed to winning party\n @param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n @param _commitStageLen length of commit period for voting\n @param _pCommitStageLen length of commit period for voting in parameterizer\n @param _revealStageLen length of reveal period for voting\n @param _pRevealStageLen length of reveal period for voting in parameterizer\n @param _voteQuorum type of majority out of 100 necessary for vote success\n @param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer\n */\n function Parameterizer(\n address _tokenAddr,\n address _plcrAddr,\n uint _minDeposit,\n uint _pMinDeposit,\n uint _applyStageLen,\n uint _pApplyStageLen,\n uint _commitStageLen,\n uint _pCommitStageLen,\n uint _revealStageLen,\n uint _pRevealStageLen,\n uint _dispensationPct,\n uint _pDispensationPct,\n uint _voteQuorum,\n uint _pVoteQuorum\n ) public\n {\n token = EIP20Interface(_tokenAddr);\n voting = PLCRVoting(_plcrAddr);\n\n set(\"minDeposit\", _minDeposit);\n set(\"pMinDeposit\", _pMinDeposit);\n set(\"applyStageLen\", _applyStageLen);\n set(\"pApplyStageLen\", _pApplyStageLen);\n set(\"commitStageLen\", _commitStageLen);\n set(\"pCommitStageLen\", _pCommitStageLen);\n set(\"revealStageLen\", _revealStageLen);\n set(\"pRevealStageLen\", _pRevealStageLen);\n set(\"dispensationPct\", _dispensationPct);\n set(\"pDispensationPct\", _pDispensationPct);\n set(\"voteQuorum\", _voteQuorum);\n set(\"pVoteQuorum\", _pVoteQuorum);\n }\n\n // -----------------------\n // TOKEN HOLDER INTERFACE\n // -----------------------\n\n /**\n @notice propose a reparamaterization of the key _name's value to _value.\n @param _name the name of the proposed param to be set\n @param _value the proposed value to set the param to be set\n */\n function proposeReparameterization(string _name, uint _value) public returns (bytes32) {\n uint deposit = get(\"pMinDeposit\");\n bytes32 propID = keccak256(_name, _value);\n\n if (keccak256(_name) == keccak256(\"dispensationPct\") ||\n keccak256(_name) == keccak256(\"pDispensationPct\")) {\n require(_value <= 100);\n }\n\n require(!propExists(propID)); // Forbid duplicate proposals\n require(get(_name) != _value); // Forbid NOOP reparameterizations\n\n // attach name and value to pollID\n proposals[propID] = ParamProposal({\n appExpiry: now.add(get(\"pApplyStageLen\")),\n challengeID: 0,\n deposit: deposit,\n name: _name,\n owner: msg.sender,\n processBy: now.add(get(\"pApplyStageLen\"))\n .add(get(\"pCommitStageLen\"))\n .add(get(\"pRevealStageLen\"))\n .add(PROCESSBY),\n value: _value\n });\n\n require(token.transferFrom(msg.sender, this, deposit)); // escrow tokens (deposit amt)\n\n emit _ReparameterizationProposal(_name, _value, propID, deposit, proposals[propID].appExpiry, msg.sender);\n return propID;\n }\n\n /**\n @notice challenge the provided proposal ID, and put tokens at stake to do so.\n @param _propID the proposal ID to challenge\n */\n function challengeReparameterization(bytes32 _propID) public returns (uint challengeID) {\n ParamProposal memory prop = proposals[_propID];\n uint deposit = prop.deposit;\n\n require(propExists(_propID) && prop.challengeID == 0);\n\n //start poll\n uint pollID = voting.startPoll(\n get(\"pVoteQuorum\"),\n get(\"pCommitStageLen\"),\n get(\"pRevealStageLen\")\n );\n\n challenges[pollID] = Challenge({\n challenger: msg.sender,\n rewardPool: SafeMath.sub(100, get(\"pDispensationPct\")).mul(deposit).div(100),\n stake: deposit,\n resolved: false,\n winningTokens: 0\n });\n\n proposals[_propID].challengeID = pollID; // update listing to store most recent challenge\n\n //take tokens from challenger\n require(token.transferFrom(msg.sender, this, deposit));\n\n uint commitEndDate;\n uint revealEndDate;\n (commitEndDate, revealEndDate,) = voting.pollMap(pollID);\n \n emit _NewChallenge(_propID, pollID, commitEndDate, revealEndDate, msg.sender);\n return pollID;\n }\n\n /**\n @notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n @param _propID the proposal ID to make a determination and state transition for\n */\n function processProposal(bytes32 _propID) public {\n ParamProposal storage prop = proposals[_propID];\n address propOwner = prop.owner;\n uint propDeposit = prop.deposit;\n\n // Before any token transfers, deleting the proposal will ensure that if reentrancy occurs the\n // prop.owner and prop.deposit will be 0, thereby preventing theft\n if (canBeSet(_propID)) {\n // There is no challenge against the proposal. The processBy date for the proposal has not\n // passed, but the proposal's appExpirty date has passed.\n set(prop.name, prop.value);\n emit _ProposalAccepted(_propID, prop.name, prop.value);\n delete proposals[_propID];\n require(token.transfer(propOwner, propDeposit));\n } else if (challengeCanBeResolved(_propID)) {\n // There is a challenge against the proposal.\n resolveChallenge(_propID);\n } else if (now > prop.processBy) {\n // There is no challenge against the proposal, but the processBy date has passed.\n emit _ProposalExpired(_propID);\n delete proposals[_propID];\n require(token.transfer(propOwner, propDeposit));\n } else {\n // There is no challenge against the proposal, and neither the appExpiry date nor the\n // processBy date has passed.\n revert();\n }\n\n assert(get(\"dispensationPct\") <= 100);\n assert(get(\"pDispensationPct\") <= 100);\n\n // verify that future proposal appExpiry and processBy times will not overflow\n now.add(get(\"pApplyStageLen\"))\n .add(get(\"pCommitStageLen\"))\n .add(get(\"pRevealStageLen\"))\n .add(PROCESSBY);\n\n delete proposals[_propID];\n }\n\n /**\n @notice claim the tokens owed for the msg.sender in the provided challenge\n @param _challengeID the challenge ID to claim tokens for\n @param _salt the salt used to vote in the challenge being withdrawn for\n */\n function claimReward(uint _challengeID, uint _salt) public {\n // ensure voter has not already claimed tokens and challenge results have been processed\n require(challenges[_challengeID].tokenClaims[msg.sender] == false);\n require(challenges[_challengeID].resolved == true);\n\n uint voterTokens = voting.getNumPassingTokens(msg.sender, _challengeID, _salt);\n uint reward = voterReward(msg.sender, _challengeID, _salt);\n\n // subtract voter's information to preserve the participation ratios of other voters\n // compared to the remaining pool of rewards\n challenges[_challengeID].winningTokens -= voterTokens;\n challenges[_challengeID].rewardPool -= reward;\n\n // ensures a voter cannot claim tokens again\n challenges[_challengeID].tokenClaims[msg.sender] = true;\n\n emit _RewardClaimed(_challengeID, reward, msg.sender);\n require(token.transfer(msg.sender, reward));\n }\n\n // --------\n // GETTERS\n // --------\n\n /**\n @dev Calculates the provided voter's token reward for the given poll.\n @param _voter The address of the voter whose reward balance is to be returned\n @param _challengeID The ID of the challenge the voter's reward is being calculated for\n @param _salt The salt of the voter's commit hash in the given poll\n @return The uint indicating the voter's reward\n */\n function voterReward(address _voter, uint _challengeID, uint _salt)\n public view returns (uint)\n {\n uint winningTokens = challenges[_challengeID].winningTokens;\n uint rewardPool = challenges[_challengeID].rewardPool;\n uint voterTokens = voting.getNumPassingTokens(_voter, _challengeID, _salt);\n return (voterTokens * rewardPool) / winningTokens;\n }\n\n /**\n @notice Determines whether a proposal passed its application stage without a challenge\n @param _propID The proposal ID for which to determine whether its application stage passed without a challenge\n */\n function canBeSet(bytes32 _propID) view public returns (bool) {\n ParamProposal memory prop = proposals[_propID];\n\n return (now > prop.appExpiry && now < prop.processBy && prop.challengeID == 0);\n }\n\n /**\n @notice Determines whether a proposal exists for the provided proposal ID\n @param _propID The proposal ID whose existance is to be determined\n */\n function propExists(bytes32 _propID) view public returns (bool) {\n return proposals[_propID].processBy > 0;\n }\n\n /**\n @notice Determines whether the provided proposal ID has a challenge which can be resolved\n @param _propID The proposal ID whose challenge to inspect\n */\n function challengeCanBeResolved(bytes32 _propID) view public returns (bool) {\n ParamProposal memory prop = proposals[_propID];\n Challenge memory challenge = challenges[prop.challengeID];\n\n return (prop.challengeID > 0 && challenge.resolved == false && voting.pollEnded(prop.challengeID));\n }\n\n /**\n @notice Determines the number of tokens to awarded to the winning party in a challenge\n @param _challengeID The challengeID to determine a reward for\n */\n function challengeWinnerReward(uint _challengeID) public view returns (uint) {\n if (voting.getTotalNumberOfTokensForWinningOption(_challengeID) == 0) {\n // Edge case, nobody voted, give all tokens to the challenger.\n return 2 * challenges[_challengeID].stake;\n }\n\n return (2 * challenges[_challengeID].stake) - challenges[_challengeID].rewardPool;\n }\n\n /**\n @notice gets the parameter keyed by the provided name value from the params mapping\n @param _name the key whose value is to be determined\n */\n function get(string _name) public view returns (uint value) {\n return params[keccak256(_name)];\n }\n\n /**\n @dev Getter for Challenge tokenClaims mappings\n @param _challengeID The challengeID to query\n @param _voter The voter whose claim status to query for the provided challengeID\n */\n function tokenClaims(uint _challengeID, address _voter) public view returns (bool) {\n return challenges[_challengeID].tokenClaims[_voter];\n }\n\n // ----------------\n // PRIVATE FUNCTIONS\n // ----------------\n\n /**\n @dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n @param _propID the proposal ID whose challenge is to be resolved.\n */\n function resolveChallenge(bytes32 _propID) private {\n ParamProposal memory prop = proposals[_propID];\n Challenge storage challenge = challenges[prop.challengeID];\n\n // winner gets back their full staked deposit, and dispensationPct*loser's stake\n uint reward = challengeWinnerReward(prop.challengeID);\n\n challenge.winningTokens = voting.getTotalNumberOfTokensForWinningOption(prop.challengeID);\n challenge.resolved = true;\n\n if (voting.isPassed(prop.challengeID)) { // The challenge failed\n if (prop.processBy > now) {\n set(prop.name, prop.value);\n }\n emit _ChallengeFailed(_propID, prop.challengeID, challenge.rewardPool, challenge.winningTokens);\n require(token.transfer(prop.owner, reward));\n } else { // The challenge succeeded or nobody voted\n emit _ChallengeSucceeded(_propID, prop.challengeID, challenge.rewardPool, challenge.winningTokens);\n require(token.transfer(challenges[prop.challengeID].challenger, reward));\n }\n }\n\n /**\n @dev sets the param keted by the provided name to the provided value\n @param _name the name of the param to be set\n @param _value the value to set the param to be set\n */\n function set(string _name, uint _value) private {\n params[keccak256(_name)] = _value;\n }\n}\n", - "sourcePath": "/home/rbharath/computable/contracts/Parameterizer.sol", - "ast": { - "absolutePath": "/home/rbharath/computable/contracts/Parameterizer.sol", - "exportedSymbols": { - "Parameterizer": [ - 1003 - ] - }, - "id": 1004, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "absolutePath": "plcrvoting/PLCRVoting.sol", - "file": "plcrvoting/PLCRVoting.sol", - "id": 8, - "nodeType": "ImportDirective", - "scope": 1004, - "sourceUnit": 3489, - "src": "25:35:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "tokens/eip20/EIP20Interface.sol", - "id": 9, - "nodeType": "ImportDirective", - "scope": 1004, - "sourceUnit": 3783, - "src": "61:41:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "zeppelin/math/SafeMath.sol", - "file": "zeppelin/math/SafeMath.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 1004, - "sourceUnit": 3878, - "src": "103:36:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1003, - "linearizedBaseContracts": [ - 1003 - ], - "name": "Parameterizer", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 24, - "name": "_ReparameterizationProposal", - "nodeType": "EventDefinition", - "parameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "241:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 11, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "241:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "254:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "254:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16, - "indexed": false, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "266:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 15, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "266:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18, - "indexed": false, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "282:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "282:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20, - "indexed": false, - "name": "appEndDate", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "296:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "296:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22, - "indexed": true, - "name": "proposer", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "313:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "313:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "240:98:1" - }, - "src": "207:132:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 36, - "name": "_NewChallenge", - "nodeType": "EventDefinition", - "parameters": { - "id": 35, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "362:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "362:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28, - "indexed": false, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "386:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "386:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 30, - "indexed": false, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "404:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "404:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 32, - "indexed": false, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "424:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 31, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "424:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 34, - "indexed": true, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "444:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 33, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "444:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "361:110:1" - }, - "src": "342:130:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 44, - "name": "_ProposalAccepted", - "nodeType": "EventDefinition", - "parameters": { - "id": 43, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 38, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "499:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 37, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "499:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 40, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "523:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 39, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "523:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 42, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "536:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 41, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "536:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "498:49:1" - }, - "src": "475:73:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 48, - "name": "_ProposalExpired", - "nodeType": "EventDefinition", - "parameters": { - "id": 47, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 46, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 48, - "src": "574:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 45, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "574:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "573:24:1" - }, - "src": "551:47:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 58, - "name": "_ChallengeSucceeded", - "nodeType": "EventDefinition", - "parameters": { - "id": 57, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 50, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "627:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 49, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "627:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 52, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "651:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "651:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 54, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "677:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 53, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "677:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 56, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "694:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 55, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "694:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "626:85:1" - }, - "src": "601:111:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 68, - "name": "_ChallengeFailed", - "nodeType": "EventDefinition", - "parameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 60, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "738:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 59, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "738:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 62, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "762:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 61, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "762:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 64, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "788:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 63, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "788:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 66, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "805:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 65, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "805:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "737:85:1" - }, - "src": "715:108:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 76, - "name": "_RewardClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 75, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 70, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 76, - "src": "847:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 69, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "847:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 72, - "indexed": false, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 76, - "src": "873:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 71, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "873:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 74, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 76, - "src": "886:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "886:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "846:62:1" - }, - "src": "826:83:1" - }, - { - "id": 79, - "libraryName": { - "contractScope": null, - "id": 77, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3877, - "src": "966:8:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3877", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "960:24:1", - "typeName": { - "id": 78, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "979:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "Parameterizer.ParamProposal", - "id": 94, - "members": [ - { - "constant": false, - "id": 81, - "name": "appExpiry", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1015:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1015:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1035:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1035:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 85, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1057:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 84, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1057:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 87, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1075:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 86, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1075:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1092:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1092:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "name": "processBy", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1111:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 90, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1111:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 93, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1131:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 92, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1131:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ParamProposal", - "nodeType": "StructDefinition", - "scope": 1003, - "src": "988:158:1", - "visibility": "public" - }, - { - "canonicalName": "Parameterizer.Challenge", - "id": 109, - "members": [ - { - "constant": false, - "id": 96, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1173:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 95, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1173:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 98, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1266:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 97, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1266:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 100, - "name": "resolved", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1316:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 99, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1316:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 102, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1386:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 101, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1386:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 104, - "name": "winningTokens", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1476:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 103, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1476:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 108, - "name": "tokenClaims", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1572:36:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 107, - "keyType": { - "id": 105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1580:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1572:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 106, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1591:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Challenge", - "nodeType": "StructDefinition", - "scope": 1003, - "src": "1150:463:1", - "visibility": "public" - }, - { - "constant": false, - "id": 113, - "name": "params", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1653:38:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 112, - "keyType": { - "id": 110, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1661:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1653:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 111, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1672:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 117, - "name": "challenges", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1748:44:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" - }, - "typeName": { - "id": 116, - "keyType": { - "id": 114, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1756:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1748:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" - }, - "valueType": { - "contractScope": null, - "id": 115, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1764:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 121, - "name": "proposals", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1854:50:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" - }, - "typeName": { - "id": 120, - "keyType": { - "id": 118, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1862:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1854:33:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" - }, - "valueType": { - "contractScope": null, - "id": 119, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "1873:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 123, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1931:27:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - }, - "typeName": { - "contractScope": null, - "id": 122, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "1931:14:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 125, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1962:24:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - }, - "typeName": { - "contractScope": null, - "id": 124, - "name": "PLCRVoting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3488, - "src": "1962:10:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 128, - "name": "PROCESSBY", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1990:30:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 126, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1990:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "363034383030", - "id": 127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2014:6:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_604800_by_1", - "typeString": "int_const 604800" - }, - "value": "604800" - }, - "visibility": "public" - }, - { - "body": { - "id": 231, - "nodeType": "Block", - "src": "3653:590:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 159, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3659:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 161, - "name": "_tokenAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "3682:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 160, - "name": "EIP20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "3667:14:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EIP20Interface_$3782_$", - "typeString": "type(contract EIP20Interface)" - } - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3667:26:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "src": "3659:34:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 164, - "nodeType": "ExpressionStatement", - "src": "3659:34:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 165, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "3699:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 167, - "name": "_plcrAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "3719:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 166, - "name": "PLCRVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3488, - "src": "3708:10:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$3488_$", - "typeString": "type(contract PLCRVoting)" - } - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3708:21:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "src": "3699:30:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 170, - "nodeType": "ExpressionStatement", - "src": "3699:30:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3740:12:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - }, - { - "argumentTypes": null, - "id": 173, - "name": "_minDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "3754:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 171, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3736:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3736:30:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 175, - "nodeType": "ExpressionStatement", - "src": "3736:30:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704d696e4465706f736974", - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3776:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - }, - "value": "pMinDeposit" - }, - { - "argumentTypes": null, - "id": 178, - "name": "_pMinDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "3791:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 176, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3772:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3772:32:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 180, - "nodeType": "ExpressionStatement", - "src": "3772:32:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6170706c7953746167654c656e", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3814:15:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - }, - "value": "applyStageLen" - }, - { - "argumentTypes": null, - "id": 183, - "name": "_applyStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "3831:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 181, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3810:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3810:36:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 185, - "nodeType": "ExpressionStatement", - "src": "3810:36:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3856:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - }, - { - "argumentTypes": null, - "id": 188, - "name": "_pApplyStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "3874:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 186, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3852:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3852:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 190, - "nodeType": "ExpressionStatement", - "src": "3852:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "636f6d6d697453746167654c656e", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3900:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - }, - "value": "commitStageLen" - }, - { - "argumentTypes": null, - "id": 193, - "name": "_commitStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "3918:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 191, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3896:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3896:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 195, - "nodeType": "ExpressionStatement", - "src": "3896:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3944:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - }, - { - "argumentTypes": null, - "id": 198, - "name": "_pCommitStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "3963:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 196, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3940:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3940:40:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 200, - "nodeType": "ExpressionStatement", - "src": "3940:40:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "72657665616c53746167654c656e", - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3990:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - }, - "value": "revealStageLen" - }, - { - "argumentTypes": null, - "id": 203, - "name": "_revealStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 146, - "src": "4008:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 201, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3986:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3986:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "3986:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4034:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - }, - { - "argumentTypes": null, - "id": 208, - "name": "_pRevealStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "4053:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 206, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4030:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4030:40:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 210, - "nodeType": "ExpressionStatement", - "src": "4030:40:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4080:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - }, - { - "argumentTypes": null, - "id": 213, - "name": "_dispensationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4099:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 211, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4076:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4076:40:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "4076:40:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4126:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - }, - { - "argumentTypes": null, - "id": 218, - "name": "_pDispensationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "4146:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 216, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4122:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4122:42:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 220, - "nodeType": "ExpressionStatement", - "src": "4122:42:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "766f746551756f72756d", - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4174:12:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - }, - "value": "voteQuorum" - }, - { - "argumentTypes": null, - "id": 223, - "name": "_voteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4188:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 221, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4170:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4170:30:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 225, - "nodeType": "ExpressionStatement", - "src": "4170:30:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70566f746551756f72756d", - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4210:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - }, - "value": "pVoteQuorum" - }, - { - "argumentTypes": null, - "id": 228, - "name": "_pVoteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 156, - "src": "4225:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 226, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4206:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4206:32:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 230, - "nodeType": "ExpressionStatement", - "src": "4206:32:1" - } - ] - }, - "documentation": "@dev constructor\n@param _tokenAddr address of the token which parameterizes this system\n@param _plcrAddr address of a PLCR voting contract for the provided token\n@param _minDeposit minimum deposit for listing to be whitelisted\n@param _pMinDeposit minimum deposit to propose a reparameterization\n@param _applyStageLen period over which applicants wait to be whitelisted\n@param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n@param _dispensationPct percentage of losing party's deposit distributed to winning party\n@param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n@param _commitStageLen length of commit period for voting\n@param _pCommitStageLen length of commit period for voting in parameterizer\n@param _revealStageLen length of reveal period for voting\n@param _pRevealStageLen length of reveal period for voting in parameterizer\n@param _voteQuorum type of majority out of 100 necessary for vote success\n@param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer", - "id": 232, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Parameterizer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 130, - "name": "_tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3294:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3294:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 132, - "name": "_plcrAddr", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3318:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3318:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 134, - "name": "_minDeposit", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3341:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 133, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3341:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 136, - "name": "_pMinDeposit", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3363:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 135, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3363:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 138, - "name": "_applyStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3386:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 137, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3386:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 140, - "name": "_pApplyStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3411:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3411:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 142, - "name": "_commitStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3437:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 141, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3437:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 144, - "name": "_pCommitStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3463:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 143, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3463:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 146, - "name": "_revealStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3490:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 145, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3490:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 148, - "name": "_pRevealStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3516:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 147, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3516:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 150, - "name": "_dispensationPct", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3543:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 149, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3543:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "name": "_pDispensationPct", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3570:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 151, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3570:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 154, - "name": "_voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3598:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 153, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3598:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 156, - "name": "_pVoteQuorum", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3620:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 155, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3620:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3288:355:1" - }, - "payable": false, - "returnParameters": { - "id": 158, - "nodeType": "ParameterList", - "parameters": [], - "src": "3653:0:1" - }, - "scope": 1003, - "src": "3266:977:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 355, - "nodeType": "Block", - "src": "4625:1000:1", - "statements": [ - { - "assignments": [ - 242 - ], - "declarations": [ - { - "constant": false, - "id": 242, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4631:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 241, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4631:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 246, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704d696e4465706f736974", - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4650:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - }, - "value": "pMinDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - } - ], - "id": 243, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "4646:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4646:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4631:33:1" - }, - { - "assignments": [ - 248 - ], - "declarations": [ - { - "constant": false, - "id": 248, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4670:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 247, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4670:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 253, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 250, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4697:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 251, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "4704:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 249, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4687:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:24:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4670:41:1" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 255, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4732:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 254, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4722:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4722:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - } - ], - "id": 257, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4742:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4742:28:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4722:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 262, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4791:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 261, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4781:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4781:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4811:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - } - ], - "id": 264, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4801:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4801:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4781:49:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4722:108:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 276, - "nodeType": "IfStatement", - "src": "4718:151:1", - "trueBody": { - "id": 275, - "nodeType": "Block", - "src": "4832:37:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 270, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "4848:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4858:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4848:13:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 269, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4840:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4840:22:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 274, - "nodeType": "ExpressionStatement", - "src": "4840:22:1" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4883:19:1", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 279, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "4895:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 278, - "name": "propExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "4884:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4884:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 277, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4875:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4875:28:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "4875:28:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 286, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4951:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 285, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "4947:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4947:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 288, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "4961:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4947:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 284, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4939:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4939:29:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 291, - "nodeType": "ExpressionStatement", - "src": "4939:29:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 292, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "5049:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 294, - "indexExpression": { - "argumentTypes": null, - "id": 293, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5059:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5049:17:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5114:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - } - ], - "id": 298, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5110:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5110:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 296, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "5102:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5102:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5102:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5153:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 303, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "5171:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 304, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "5192:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 305, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5212:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5212:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "PROCESSBY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "5359:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5326:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - } - ], - "id": 319, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5322:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5322:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5289:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - } - ], - "id": 314, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5285:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5285:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5253:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - } - ], - "id": 309, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5249:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5249:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 307, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "5241:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:43:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:67:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:80:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:104:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:117:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:128:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 326, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "5384:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": null, - "id": 295, - "name": "ParamProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "5069:13:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ParamProposal_$94_storage_ptr_$", - "typeString": "type(struct Parameterizer.ParamProposal storage pointer)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "appExpiry", - "challengeID", - "deposit", - "name", - "owner", - "processBy", - "value" - ], - "nodeType": "FunctionCall", - "src": "5069:328:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "src": "5049:348:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "5049:348:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 333, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5431:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5431:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 335, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "5443:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - { - "argumentTypes": null, - "id": 336, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "5449:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 331, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "5412:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "5412:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:45:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 330, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5404:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5404:54:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "5404:54:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 341, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "5529:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 342, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "5536:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 343, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5544:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 344, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "5552:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 345, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "5561:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 347, - "indexExpression": { - "argumentTypes": null, - "id": 346, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5571:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5561:17:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "appExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "5561:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 349, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5590:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5590:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 340, - "name": "_ReparameterizationProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "5501:27:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (string memory,uint256,bytes32,uint256,uint256,address)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5501:100:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 352, - "nodeType": "EmitStatement", - "src": "5496:105:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 353, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5614:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 240, - "id": 354, - "nodeType": "Return", - "src": "5607:13:1" - } - ] - }, - "documentation": "@notice propose a reparamaterization of the key _name's value to _value.\n@param _name the name of the proposed param to be set\n@param _value the proposed value to set the param to be set", - "id": 356, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "proposeReparameterization", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 234, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4573:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 233, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4573:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 236, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4587:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 235, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4587:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4572:27:1" - }, - "payable": false, - "returnParameters": { - "id": 240, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 239, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4616:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 238, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4616:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4615:9:1" - }, - "scope": 1003, - "src": "4538:1087:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 468, - "nodeType": "Block", - "src": "5854:938:1", - "statements": [ - { - "assignments": [ - 364 - ], - "declarations": [ - { - "constant": false, - "id": 364, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5860:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 363, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "5860:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 368, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 365, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "5888:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 367, - "indexExpression": { - "argumentTypes": null, - "id": 366, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "5898:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5888:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5860:46:1" - }, - { - "assignments": [ - 370 - ], - "declarations": [ - { - "constant": false, - "id": 370, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5912:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 369, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5912:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 373, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 371, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5927:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "5927:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5912:27:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 376, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "5965:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 375, - "name": "propExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "5954:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5954:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 378, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5977:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "5977:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5997:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5977:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5954:44:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 374, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5946:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5946:53:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 384, - "nodeType": "ExpressionStatement", - "src": "5946:53:1" - }, - { - "assignments": [ - 386 - ], - "declarations": [ - { - "constant": false, - "id": 386, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "6023:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 385, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6023:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 399, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70566f746551756f72756d", - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6065:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - }, - "value": "pVoteQuorum" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - } - ], - "id": 389, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6061:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6061:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6091:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - } - ], - "id": 392, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6087:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6087:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6121:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - } - ], - "id": 395, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6117:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6117:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 387, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "6037:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "startPoll", - "nodeType": "MemberAccess", - "referencedDeclaration": 3121, - "src": "6037:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) external returns (uint256)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6037:108:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6023:122:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 400, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "6152:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 402, - "indexExpression": { - "argumentTypes": null, - "id": 401, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6163:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6152:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 404, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6203:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6203:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6293:3:1", - "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" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 414, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "6280:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6246:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - } - ], - "id": 409, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6251:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6251:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 406, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3877, - "src": "6233:8:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$3877_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3852, - "src": "6233:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:42:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3814, - "src": "6233:46:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:55:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 3832, - "src": "6233:59:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:64:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 419, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "6312:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6337:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6365:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 403, - "name": "Challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "6173:9:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Challenge_$109_storage_ptr_$", - "typeString": "type(struct Parameterizer.Challenge storage pointer)" - } - }, - "id": 422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "challenger", - "rewardPool", - "stake", - "resolved", - "winningTokens" - ], - "nodeType": "FunctionCall", - "src": "6173:200:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_memory", - "typeString": "struct Parameterizer.Challenge memory" - } - }, - "src": "6152:221:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 424, - "nodeType": "ExpressionStatement", - "src": "6152:221:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 425, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "6380:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 427, - "indexExpression": { - "argumentTypes": null, - "id": 426, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "6390:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6380:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "6380:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 429, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6413:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6380:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "6380:39:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 435, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6542:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6542:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 437, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "6554:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - { - "argumentTypes": null, - "id": 438, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "6560:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 433, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "6523:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "6523:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6523:45:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6515:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6515:54:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 441, - "nodeType": "ExpressionStatement", - "src": "6515:54:1" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 443, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "6576:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 442, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6576:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 444, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6576:18:1" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 446, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "6600:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 445, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6600:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 447, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6600:18:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 448, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 443, - "src": "6625:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 449, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6640:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null - ], - "id": 450, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6624:31:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", - "typeString": "tuple(uint256,uint256,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 453, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6673:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 451, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "6658:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollMap", - "nodeType": "MemberAccess", - "referencedDeclaration": 2561, - "src": "6658:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6658:22:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "6624:56:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 456, - "nodeType": "ExpressionStatement", - "src": "6624:56:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "6710:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 459, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6719:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 443, - "src": "6727:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6742:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 462, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6757:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6757:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 457, - "name": "_NewChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "6696:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256,address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6696:72:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 465, - "nodeType": "EmitStatement", - "src": "6691:77:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 466, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6781:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 362, - "id": 467, - "nodeType": "Return", - "src": "6774:13:1" - } - ] - }, - "documentation": "@notice challenge the provided proposal ID, and put tokens at stake to do so.\n@param _propID the proposal ID to challenge", - "id": 469, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "challengeReparameterization", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 358, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5803:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 357, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5803:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5802:17:1" - }, - "payable": false, - "returnParameters": { - "id": 362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 361, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5836:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 360, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5836:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5835:18:1" - }, - "scope": 1003, - "src": "5766:1026:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 601, - "nodeType": "Block", - "src": "7136:1559:1", - "statements": [ - { - "assignments": [ - 475 - ], - "declarations": [ - { - "constant": false, - "id": 475, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7142:26:1", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 474, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "7142:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 479, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 476, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "7171:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 478, - "indexExpression": { - "argumentTypes": null, - "id": 477, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7181:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7171:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7142:47:1" - }, - { - "assignments": [ - 481 - ], - "declarations": [ - { - "constant": false, - "id": 481, - "name": "propOwner", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7195:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 480, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7195:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 484, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 482, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7215:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "7215:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7195:30:1" - }, - { - "assignments": [ - 486 - ], - "declarations": [ - { - "constant": false, - "id": 486, - "name": "propDeposit", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7231:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7231:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 489, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 487, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7250:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 488, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "7250:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7231:31:1" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7452:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 490, - "name": "canBeSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "7443:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7443:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 523, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7847:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 522, - "name": "challengeCanBeResolved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 815, - "src": "7824:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7824:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 530, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "7959:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 531, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7965:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "7965:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7959:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 555, - "nodeType": "Block", - "src": "8208:151:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 552, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3897, - 3898 - ], - "referencedDeclaration": 3897, - "src": "8344:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8344:8:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 554, - "nodeType": "ExpressionStatement", - "src": "8344:8:1" - } - ] - }, - "id": 556, - "nodeType": "IfStatement", - "src": "7955:404:1", - "trueBody": { - "id": 551, - "nodeType": "Block", - "src": "7981:221:1", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 535, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "8099:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 534, - "name": "_ProposalExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 48, - "src": "8082:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8082:25:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 537, - "nodeType": "EmitStatement", - "src": "8077:30:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8115:25:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 538, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "8122:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 540, - "indexExpression": { - "argumentTypes": null, - "id": 539, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "8132:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8122:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 542, - "nodeType": "ExpressionStatement", - "src": "8115:25:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 546, - "name": "propOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 481, - "src": "8171:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 547, - "name": "propDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8182:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 544, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "8156:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "8156:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8156:38:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 543, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8148:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8148:47:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 550, - "nodeType": "ExpressionStatement", - "src": "8148:47:1" - } - ] - } - }, - "id": 557, - "nodeType": "IfStatement", - "src": "7820:539:1", - "trueBody": { - "id": 529, - "nodeType": "Block", - "src": "7857:92:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 526, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7934:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 525, - "name": "resolveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "7917:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7917:25:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "7917:25:1" - } - ] - } - }, - "id": 558, - "nodeType": "IfStatement", - "src": "7439:920:1", - "trueBody": { - "id": 521, - "nodeType": "Block", - "src": "7462:352:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 494, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7635:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 495, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "7635:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 496, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7646:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 497, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "7646:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 493, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "7631:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7631:26:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 499, - "nodeType": "ExpressionStatement", - "src": "7631:26:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 501, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7688:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 502, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7697:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 503, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "7697:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 504, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7708:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 505, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "7708:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 500, - "name": "_ProposalAccepted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44, - "src": "7670:17:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,string memory,uint256)" - } - }, - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7670:49:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 507, - "nodeType": "EmitStatement", - "src": "7665:54:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "7727:25:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 508, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "7734:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 510, - "indexExpression": { - "argumentTypes": null, - "id": 509, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7744:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7734:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "7727:25:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 516, - "name": "propOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 481, - "src": "7783:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "propDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7794:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 514, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "7768:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "7768:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:38:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 513, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7760:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7760:47:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 520, - "nodeType": "ExpressionStatement", - "src": "7760:47:1" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8376:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - } - ], - "id": 560, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8372:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8372:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8398:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "8372:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 559, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "8365:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8365:37:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 566, - "nodeType": "ExpressionStatement", - "src": "8365:37:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8419:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - } - ], - "id": 568, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8415:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8415:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "8415:30:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 567, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "8408:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8408:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 574, - "nodeType": "ExpressionStatement", - "src": "8408:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 593, - "name": "PROCESSBY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "8648:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8617:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - } - ], - "id": 588, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8613:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8613:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8582:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - } - ], - "id": 583, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8578:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8578:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8548:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - } - ], - "id": 578, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8544:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8544:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 575, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "8536:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:41:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:65:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:76:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:100:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:111:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:122:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "8536:122:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8665:25:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 596, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "8672:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 598, - "indexExpression": { - "argumentTypes": null, - "id": 597, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "8682:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8672:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 600, - "nodeType": "ExpressionStatement", - "src": "8665:25:1" - } - ] - }, - "documentation": "@notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n@param _propID the proposal ID to make a determination and state transition for", - "id": 602, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "processProposal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 471, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7112:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 470, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7112:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7111:17:1" - }, - "payable": false, - "returnParameters": { - "id": 473, - "nodeType": "ParameterList", - "parameters": [], - "src": "7136:0:1" - }, - "scope": 1003, - "src": "7087:1608:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 689, - "nodeType": "Block", - "src": "8979:844:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 610, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9086:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 612, - "indexExpression": { - "argumentTypes": null, - "id": 611, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9097:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9086:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 108, - "src": "9086:36:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 616, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 614, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9123:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9123:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9086:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9138:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "9086:57:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9078:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9078:66:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 620, - "nodeType": "ExpressionStatement", - "src": "9078:66:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 622, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9158:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 624, - "indexExpression": { - "argumentTypes": null, - "id": 623, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9169:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9158:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "9158:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9195:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9158:41:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9150:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9150:50:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 629, - "nodeType": "ExpressionStatement", - "src": "9150:50:1" - }, - { - "assignments": [ - 631 - ], - "declarations": [ - { - "constant": false, - "id": 631, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "9207:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 630, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9207:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 639, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 634, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9253:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9253:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 636, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9265:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 637, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "9279:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 632, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "9226:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "9226:26:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9226:59:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9207:78:1" - }, - { - "assignments": [ - 641 - ], - "declarations": [ - { - "constant": false, - "id": 641, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "9291:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9291:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 648, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9317:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9317:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 645, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9329:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 646, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "9343:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 642, - "name": "voterReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "9305:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view returns (uint256)" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9305:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9291:58:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 649, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9494:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 651, - "indexExpression": { - "argumentTypes": null, - "id": 650, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9505:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9494:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 652, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "9494:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 653, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9536:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9494:53:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 655, - "nodeType": "ExpressionStatement", - "src": "9494:53:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 656, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9553:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 658, - "indexExpression": { - "argumentTypes": null, - "id": 657, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9564:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9553:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 659, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "9553:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 660, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9592:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9553:45:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 662, - "nodeType": "ExpressionStatement", - "src": "9553:45:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 663, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9654:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 665, - "indexExpression": { - "argumentTypes": null, - "id": 664, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9665:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9654:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 108, - "src": "9654:36:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 669, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 667, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9691:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9691:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9654:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9705:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9654:55:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 672, - "nodeType": "ExpressionStatement", - "src": "9654:55:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 674, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9736:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9750:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 676, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9758:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9758:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 673, - "name": "_RewardClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "9721:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9721:48:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "EmitStatement", - "src": "9716:53:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 683, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9798:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9798:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 685, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9810:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 681, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "9783:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "9783:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9783:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 680, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9775:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9775:43:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 688, - "nodeType": "ExpressionStatement", - "src": "9775:43:1" - } - ] - }, - "documentation": "@notice claim the tokens owed for the msg.sender in the provided challenge\n@param _challengeID the challenge ID to claim tokens for\n@param _salt the salt used to vote in the challenge being withdrawn for", - "id": 690, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "claimReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 604, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "8941:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8941:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 606, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "8960:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 605, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8960:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8940:31:1" - }, - "payable": false, - "returnParameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [], - "src": "8979:0:1" - }, - "scope": 1003, - "src": "8920:903:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 731, - "nodeType": "Block", - "src": "10378:264:1", - "statements": [ - { - "assignments": [ - 702 - ], - "declarations": [ - { - "constant": false, - "id": 702, - "name": "winningTokens", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10384:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 701, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10384:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 707, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 703, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "10405:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 705, - "indexExpression": { - "argumentTypes": null, - "id": 704, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "10416:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10405:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "10405:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10384:59:1" - }, - { - "assignments": [ - 709 - ], - "declarations": [ - { - "constant": false, - "id": 709, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10449:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 708, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10449:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 714, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 710, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "10467:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 712, - "indexExpression": { - "argumentTypes": null, - "id": 711, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "10478:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10467:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "10467:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10449:53:1" - }, - { - "assignments": [ - 716 - ], - "declarations": [ - { - "constant": false, - "id": 716, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10508:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10508:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 723, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 719, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "10554:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 720, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "10562:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 721, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 696, - "src": "10576:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 717, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "10527:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "10527:26:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10527:55:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10508:74:1" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 724, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "10596:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 725, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "10610:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10596:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 727, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10595:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 728, - "name": "winningTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 702, - "src": "10624:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10595:42:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 700, - "id": 730, - "nodeType": "Return", - "src": "10588:49:1" - } - ] - }, - "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The ID of the challenge the voter's reward is being calculated for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", - "id": 732, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "voterReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10300:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10300:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 694, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10316:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 693, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10316:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 696, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10335:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 695, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10335:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10299:47:1" - }, - "payable": false, - "returnParameters": { - "id": 700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 699, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10370:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 698, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10370:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10369:6:1" - }, - "scope": 1003, - "src": "10279:363:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 761, - "nodeType": "Block", - "src": "10921:142:1", - "statements": [ - { - "assignments": [ - 740 - ], - "declarations": [ - { - "constant": false, - "id": 740, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 762, - "src": "10927:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 739, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "10927:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 744, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 741, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "10955:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 743, - "indexExpression": { - "argumentTypes": null, - "id": 742, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "10965:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10955:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10927:46:1" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 745, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "10988:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 746, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "10994:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "appExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "10994:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10988:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 749, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "11012:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 750, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "11018:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 751, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "11018:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11012:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10988:44:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 754, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "11036:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 755, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11036:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11056:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11036:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10988:69:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 759, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10987:71:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 738, - "id": 760, - "nodeType": "Return", - "src": "10980:78:1" - } - ] - }, - "documentation": "@notice Determines whether a proposal passed its application stage without a challenge\n@param _propID The proposal ID for which to determine whether its application stage passed without a challenge", - "id": 762, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canBeSet", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 734, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 762, - "src": "10877:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 733, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10877:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10876:17:1" - }, - "payable": false, - "returnParameters": { - "id": 738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 737, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 762, - "src": "10915:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 736, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10915:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10914:6:1" - }, - "scope": 1003, - "src": "10859:204:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 776, - "nodeType": "Block", - "src": "11287:50:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 769, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "11300:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 771, - "indexExpression": { - "argumentTypes": null, - "id": 770, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 764, - "src": "11310:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11300:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "11300:28:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11331:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11300:32:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 768, - "id": 775, - "nodeType": "Return", - "src": "11293:39:1" - } - ] - }, - "documentation": "@notice Determines whether a proposal exists for the provided proposal ID\n@param _propID The proposal ID whose existance is to be determined", - "id": 777, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "propExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 764, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 777, - "src": "11243:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 763, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11243:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11242:17:1" - }, - "payable": false, - "returnParameters": { - "id": 768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 767, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 777, - "src": "11281:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 766, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11281:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11280:6:1" - }, - "scope": 1003, - "src": "11223:114:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 814, - "nodeType": "Block", - "src": "11580:225:1", - "statements": [ - { - "assignments": [ - 785 - ], - "declarations": [ - { - "constant": false, - "id": 785, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11586:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 784, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "11586:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 789, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 786, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "11614:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 788, - "indexExpression": { - "argumentTypes": null, - "id": 787, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "11624:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11614:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11586:46:1" - }, - { - "assignments": [ - 791 - ], - "declarations": [ - { - "constant": false, - "id": 791, - "name": "challenge", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11638:26:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_memory_ptr", - "typeString": "struct Parameterizer.Challenge" - }, - "typeName": { - "contractScope": null, - "id": 790, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "11638:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 796, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 792, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "11667:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 795, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 793, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11678:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11678:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11667:28:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11638:57:1" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 797, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11710:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11710:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11729:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11710:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 801, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 791, - "src": "11734:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_memory_ptr", - "typeString": "struct Parameterizer.Challenge memory" - } - }, - "id": 802, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "11734:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11756:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "11734:27:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11710:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 808, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11782:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 809, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11782:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 806, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "11765:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollEnded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3207, - "src": "11765:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11765:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11710:89:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11709:91:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 783, - "id": 813, - "nodeType": "Return", - "src": "11702:98:1" - } - ] - }, - "documentation": "@notice Determines whether the provided proposal ID has a challenge which can be resolved\n@param _propID The proposal ID whose challenge to inspect", - "id": 815, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeCanBeResolved", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 779, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11536:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 778, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11535:17:1" - }, - "payable": false, - "returnParameters": { - "id": 783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 782, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11574:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 781, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11574:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11573:6:1" - }, - "scope": 1003, - "src": "11504:301:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 850, - "nodeType": "Block", - "src": "12050:293:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 824, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12106:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 822, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "12060:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "12060:45:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12060:59:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12123:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12060:64:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 836, - "nodeType": "IfStatement", - "src": "12056:195:1", - "trueBody": { - "id": 835, - "nodeType": "Block", - "src": "12126:125:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12210:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 829, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12214:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 831, - "indexExpression": { - "argumentTypes": null, - "id": 830, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12225:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12214:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 102, - "src": "12214:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12210:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 821, - "id": 834, - "nodeType": "Return", - "src": "12203:41:1" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12265:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 838, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12269:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 840, - "indexExpression": { - "argumentTypes": null, - "id": 839, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12280:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12269:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 841, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 102, - "src": "12269:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12265:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 843, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12264:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 844, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12303:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 846, - "indexExpression": { - "argumentTypes": null, - "id": 845, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12314:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12303:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "12303:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12264:74:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 821, - "id": 849, - "nodeType": "Return", - "src": "12257:81:1" - } - ] - }, - "documentation": "@notice Determines the number of tokens to awarded to the winning party in a challenge\n@param _challengeID The challengeID to determine a reward for", - "id": 851, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeWinnerReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 817, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 851, - "src": "12004:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 816, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12004:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12003:19:1" - }, - "payable": false, - "returnParameters": { - "id": 821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 820, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 851, - "src": "12044:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 819, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12044:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12043:6:1" - }, - "scope": 1003, - "src": "11973:370:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 864, - "nodeType": "Block", - "src": "12559:42:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 858, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "12572:6:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 862, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 860, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 853, - "src": "12589:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 859, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "12579:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12579:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12572:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 857, - "id": 863, - "nodeType": "Return", - "src": "12565:31:1" - } - ] - }, - "documentation": "@notice gets the parameter keyed by the provided name value from the params mapping\n@param _name the key whose value is to be determined", - "id": 865, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 853, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 865, - "src": "12512:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "12512:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12511:14:1" - }, - "payable": false, - "returnParameters": { - "id": 857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 856, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 865, - "src": "12547:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 855, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12547:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12546:12:1" - }, - "scope": 1003, - "src": "12499:102:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 881, - "nodeType": "Block", - "src": "12899:62:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 874, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12912:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 876, - "indexExpression": { - "argumentTypes": null, - "id": 875, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "12923:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12912:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 877, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 108, - "src": "12912:36:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 879, - "indexExpression": { - "argumentTypes": null, - "id": 878, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 869, - "src": "12949:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12912:44:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 873, - "id": 880, - "nodeType": "Return", - "src": "12905:51:1" - } - ] - }, - "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", - "id": 882, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "tokenClaims", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 867, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "12837:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 866, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12837:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 869, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "12856:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12856:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12836:35:1" - }, - "payable": false, - "returnParameters": { - "id": 873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 872, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "12893:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 871, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12893:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12892:6:1" - }, - "scope": 1003, - "src": "12816:145:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 985, - "nodeType": "Block", - "src": "13289:943:1", - "statements": [ - { - "assignments": [ - 888 - ], - "declarations": [ - { - "constant": false, - "id": 888, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13295:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 887, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "13295:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 892, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 889, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "13323:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 891, - "indexExpression": { - "argumentTypes": null, - "id": 890, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "13333:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13323:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13295:46:1" - }, - { - "assignments": [ - 894 - ], - "declarations": [ - { - "constant": false, - "id": 894, - "name": "challenge", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13347:27:1", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - }, - "typeName": { - "contractScope": null, - "id": 893, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "13347:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 899, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 895, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "13377:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 898, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 896, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13388:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13388:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13377:28:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13347:58:1" - }, - { - "assignments": [ - 901 - ], - "declarations": [ - { - "constant": false, - "id": 901, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13497:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 900, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13497:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 906, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 903, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13533:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13533:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 902, - "name": "challengeWinnerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "13511:21:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13511:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13497:53:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 907, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13557:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "13557:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 912, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13629:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13629:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 910, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "13583:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "13583:45:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13583:63:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13557:89:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 916, - "nodeType": "ExpressionStatement", - "src": "13557:89:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 917, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13652:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "13652:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13673:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "13652:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 922, - "nodeType": "ExpressionStatement", - "src": "13652:25:1" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 925, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13704:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13704:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 923, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "13688:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isPassed", - "nodeType": "MemberAccess", - "referencedDeclaration": 3158, - "src": "13688:15:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13688:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 983, - "nodeType": "Block", - "src": "13992:236:1", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 962, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "14068:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 963, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "14077:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "14077:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 965, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "14095:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "14095:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 967, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "14117:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "14117:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 961, - "name": "_ChallengeSucceeded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58, - "src": "14048:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14048:93:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 970, - "nodeType": "EmitStatement", - "src": "14043:98:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 974, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "14172:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 977, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 975, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "14183:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "14183:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14172:28:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challenger", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "14172:39:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 979, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "14213:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 972, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "14157:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "14157:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14157:63:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "14149:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14149:72:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 982, - "nodeType": "ExpressionStatement", - "src": "14149:72:1" - } - ] - }, - "id": 984, - "nodeType": "IfStatement", - "src": "13684:544:1", - "trueBody": { - "id": 960, - "nodeType": "Block", - "src": "13723:263:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 928, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13759:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 929, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "13759:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 930, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "13776:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13759:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 940, - "nodeType": "IfStatement", - "src": "13755:71:1", - "trueBody": { - "id": 939, - "nodeType": "Block", - "src": "13781:45:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 933, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13795:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "13795:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 935, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13806:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 936, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "13806:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 932, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "13791:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13791:26:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 938, - "nodeType": "ExpressionStatement", - "src": "13791:26:1" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 942, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "13855:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 943, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13864:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13864:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 945, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13882:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "13882:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 947, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13904:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 948, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "13904:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 941, - "name": "_ChallengeFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "13838:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13838:90:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 950, - "nodeType": "EmitStatement", - "src": "13833:95:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 954, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13959:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "13959:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 956, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "13971:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 952, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "13944:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "13944:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13944:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 951, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13936:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13936:43:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 959, - "nodeType": "ExpressionStatement", - "src": "13936:43:1" - } - ] - } - } - ] - }, - "documentation": "@dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n@param _propID the proposal ID whose challenge is to be resolved.", - "id": 986, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resolveChallenge", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 884, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13264:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 883, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13264:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13263:17:1" - }, - "payable": false, - "returnParameters": { - "id": 886, - "nodeType": "ParameterList", - "parameters": [], - "src": "13289:0:1" - }, - "scope": 1003, - "src": "13238:994:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 1001, - "nodeType": "Block", - "src": "14466:44:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 993, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "14472:6:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 997, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 995, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "14489:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 994, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "14479:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14479:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14472:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 998, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 990, - "src": "14499:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14472:33:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1000, - "nodeType": "ExpressionStatement", - "src": "14472:33:1" - } - ] - }, - "documentation": "@dev sets the param keted by the provided name to the provided value\n@param _name the name of the param to be set\n@param _value the value to set the param to be set", - "id": 1002, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "set", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 988, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "14431:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 987, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14431:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 990, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "14445:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 989, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14445:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14430:27:1" - }, - "payable": false, - "returnParameters": { - "id": 992, - "nodeType": "ParameterList", - "parameters": [], - "src": "14466:0:1" - }, - "scope": 1003, - "src": "14418:92:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 1004, - "src": "142:14370:1" - } - ], - "src": "0:14513:1" - }, - "legacyAST": { - "absolutePath": "/home/rbharath/computable/contracts/Parameterizer.sol", - "exportedSymbols": { - "Parameterizer": [ - 1003 - ] - }, - "id": 1004, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "absolutePath": "plcrvoting/PLCRVoting.sol", - "file": "plcrvoting/PLCRVoting.sol", - "id": 8, - "nodeType": "ImportDirective", - "scope": 1004, - "sourceUnit": 3489, - "src": "25:35:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "tokens/eip20/EIP20Interface.sol", - "id": 9, - "nodeType": "ImportDirective", - "scope": 1004, - "sourceUnit": 3783, - "src": "61:41:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "zeppelin/math/SafeMath.sol", - "file": "zeppelin/math/SafeMath.sol", - "id": 10, - "nodeType": "ImportDirective", - "scope": 1004, - "sourceUnit": 3878, - "src": "103:36:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1003, - "linearizedBaseContracts": [ - 1003 - ], - "name": "Parameterizer", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 24, - "name": "_ReparameterizationProposal", - "nodeType": "EventDefinition", - "parameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "241:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 11, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "241:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 14, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "254:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 13, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "254:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 16, - "indexed": false, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "266:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 15, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "266:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 18, - "indexed": false, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "282:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "282:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 20, - "indexed": false, - "name": "appEndDate", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "296:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 19, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "296:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 22, - "indexed": true, - "name": "proposer", - "nodeType": "VariableDeclaration", - "scope": 24, - "src": "313:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 21, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "313:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "240:98:1" - }, - "src": "207:132:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 36, - "name": "_NewChallenge", - "nodeType": "EventDefinition", - "parameters": { - "id": 35, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 26, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "362:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 25, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "362:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 28, - "indexed": false, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "386:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "386:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 30, - "indexed": false, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "404:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "404:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 32, - "indexed": false, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "424:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 31, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "424:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 34, - "indexed": true, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 36, - "src": "444:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 33, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "444:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "361:110:1" - }, - "src": "342:130:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 44, - "name": "_ProposalAccepted", - "nodeType": "EventDefinition", - "parameters": { - "id": 43, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 38, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "499:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 37, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "499:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 40, - "indexed": false, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "523:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 39, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "523:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 42, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 44, - "src": "536:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 41, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "536:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "498:49:1" - }, - "src": "475:73:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 48, - "name": "_ProposalExpired", - "nodeType": "EventDefinition", - "parameters": { - "id": 47, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 46, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 48, - "src": "574:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 45, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "574:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "573:24:1" - }, - "src": "551:47:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 58, - "name": "_ChallengeSucceeded", - "nodeType": "EventDefinition", - "parameters": { - "id": 57, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 50, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "627:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 49, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "627:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 52, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "651:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "651:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 54, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "677:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 53, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "677:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 56, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 58, - "src": "694:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 55, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "694:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "626:85:1" - }, - "src": "601:111:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 68, - "name": "_ChallengeFailed", - "nodeType": "EventDefinition", - "parameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 60, - "indexed": true, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "738:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 59, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "738:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 62, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "762:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 61, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "762:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 64, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "788:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 63, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "788:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 66, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "805:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 65, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "805:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "737:85:1" - }, - "src": "715:108:1" - }, - { - "anonymous": false, - "documentation": null, - "id": 76, - "name": "_RewardClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 75, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 70, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 76, - "src": "847:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 69, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "847:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 72, - "indexed": false, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 76, - "src": "873:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 71, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "873:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 74, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 76, - "src": "886:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "886:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "846:62:1" - }, - "src": "826:83:1" - }, - { - "id": 79, - "libraryName": { - "contractScope": null, - "id": 77, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3877, - "src": "966:8:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3877", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "960:24:1", - "typeName": { - "id": 78, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "979:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "Parameterizer.ParamProposal", - "id": 94, - "members": [ - { - "constant": false, - "id": 81, - "name": "appExpiry", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1015:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1015:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 83, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1035:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1035:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 85, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1057:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 84, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1057:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 87, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1075:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 86, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1075:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 89, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1092:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1092:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 91, - "name": "processBy", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1111:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 90, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1111:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 93, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 94, - "src": "1131:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 92, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1131:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ParamProposal", - "nodeType": "StructDefinition", - "scope": 1003, - "src": "988:158:1", - "visibility": "public" - }, - { - "canonicalName": "Parameterizer.Challenge", - "id": 109, - "members": [ - { - "constant": false, - "id": 96, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1173:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 95, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1173:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 98, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1266:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 97, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1266:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 100, - "name": "resolved", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1316:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 99, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1316:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 102, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1386:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 101, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1386:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 104, - "name": "winningTokens", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1476:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 103, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1476:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 108, - "name": "tokenClaims", - "nodeType": "VariableDeclaration", - "scope": 109, - "src": "1572:36:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 107, - "keyType": { - "id": 105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1580:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1572:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 106, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1591:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Challenge", - "nodeType": "StructDefinition", - "scope": 1003, - "src": "1150:463:1", - "visibility": "public" - }, - { - "constant": false, - "id": 113, - "name": "params", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1653:38:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 112, - "keyType": { - "id": 110, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1661:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1653:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 111, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1672:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 117, - "name": "challenges", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1748:44:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" - }, - "typeName": { - "id": 116, - "keyType": { - "id": 114, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1756:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1748:26:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" - }, - "valueType": { - "contractScope": null, - "id": 115, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "1764:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 121, - "name": "proposals", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1854:50:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" - }, - "typeName": { - "id": 120, - "keyType": { - "id": 118, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1862:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1854:33:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" - }, - "valueType": { - "contractScope": null, - "id": 119, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "1873:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 123, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1931:27:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - }, - "typeName": { - "contractScope": null, - "id": 122, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "1931:14:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 125, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1962:24:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - }, - "typeName": { - "contractScope": null, - "id": 124, - "name": "PLCRVoting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3488, - "src": "1962:10:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 128, - "name": "PROCESSBY", - "nodeType": "VariableDeclaration", - "scope": 1003, - "src": "1990:30:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 126, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1990:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "363034383030", - "id": 127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2014:6:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_604800_by_1", - "typeString": "int_const 604800" - }, - "value": "604800" - }, - "visibility": "public" - }, - { - "body": { - "id": 231, - "nodeType": "Block", - "src": "3653:590:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 159, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "3659:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 161, - "name": "_tokenAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "3682:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 160, - "name": "EIP20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "3667:14:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EIP20Interface_$3782_$", - "typeString": "type(contract EIP20Interface)" - } - }, - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3667:26:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "src": "3659:34:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 164, - "nodeType": "ExpressionStatement", - "src": "3659:34:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 165, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "3699:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 167, - "name": "_plcrAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "3719:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 166, - "name": "PLCRVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3488, - "src": "3708:10:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$3488_$", - "typeString": "type(contract PLCRVoting)" - } - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3708:21:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "src": "3699:30:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 170, - "nodeType": "ExpressionStatement", - "src": "3699:30:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3740:12:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - }, - { - "argumentTypes": null, - "id": 173, - "name": "_minDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "3754:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 171, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3736:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3736:30:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 175, - "nodeType": "ExpressionStatement", - "src": "3736:30:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704d696e4465706f736974", - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3776:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - }, - "value": "pMinDeposit" - }, - { - "argumentTypes": null, - "id": 178, - "name": "_pMinDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "3791:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 176, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3772:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3772:32:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 180, - "nodeType": "ExpressionStatement", - "src": "3772:32:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6170706c7953746167654c656e", - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3814:15:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - }, - "value": "applyStageLen" - }, - { - "argumentTypes": null, - "id": 183, - "name": "_applyStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "3831:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 181, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3810:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3810:36:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 185, - "nodeType": "ExpressionStatement", - "src": "3810:36:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3856:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - }, - { - "argumentTypes": null, - "id": 188, - "name": "_pApplyStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "3874:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 186, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3852:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3852:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 190, - "nodeType": "ExpressionStatement", - "src": "3852:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "636f6d6d697453746167654c656e", - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3900:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - }, - "value": "commitStageLen" - }, - { - "argumentTypes": null, - "id": 193, - "name": "_commitStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 142, - "src": "3918:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 191, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3896:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3896:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 195, - "nodeType": "ExpressionStatement", - "src": "3896:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3944:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - }, - { - "argumentTypes": null, - "id": 198, - "name": "_pCommitStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "3963:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 196, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3940:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3940:40:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 200, - "nodeType": "ExpressionStatement", - "src": "3940:40:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "72657665616c53746167654c656e", - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3990:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - }, - "value": "revealStageLen" - }, - { - "argumentTypes": null, - "id": 203, - "name": "_revealStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 146, - "src": "4008:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 201, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "3986:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3986:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 205, - "nodeType": "ExpressionStatement", - "src": "3986:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4034:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - }, - { - "argumentTypes": null, - "id": 208, - "name": "_pRevealStageLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "4053:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 206, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4030:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4030:40:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 210, - "nodeType": "ExpressionStatement", - "src": "4030:40:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4080:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - }, - { - "argumentTypes": null, - "id": 213, - "name": "_dispensationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4099:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 211, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4076:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4076:40:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "4076:40:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4126:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - }, - { - "argumentTypes": null, - "id": 218, - "name": "_pDispensationPct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "4146:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 216, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4122:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4122:42:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 220, - "nodeType": "ExpressionStatement", - "src": "4122:42:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "766f746551756f72756d", - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4174:12:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - }, - "value": "voteQuorum" - }, - { - "argumentTypes": null, - "id": 223, - "name": "_voteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4188:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 221, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4170:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4170:30:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 225, - "nodeType": "ExpressionStatement", - "src": "4170:30:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70566f746551756f72756d", - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4210:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - }, - "value": "pVoteQuorum" - }, - { - "argumentTypes": null, - "id": 228, - "name": "_pVoteQuorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 156, - "src": "4225:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 226, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "4206:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4206:32:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 230, - "nodeType": "ExpressionStatement", - "src": "4206:32:1" - } - ] - }, - "documentation": "@dev constructor\n@param _tokenAddr address of the token which parameterizes this system\n@param _plcrAddr address of a PLCR voting contract for the provided token\n@param _minDeposit minimum deposit for listing to be whitelisted\n@param _pMinDeposit minimum deposit to propose a reparameterization\n@param _applyStageLen period over which applicants wait to be whitelisted\n@param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n@param _dispensationPct percentage of losing party's deposit distributed to winning party\n@param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n@param _commitStageLen length of commit period for voting\n@param _pCommitStageLen length of commit period for voting in parameterizer\n@param _revealStageLen length of reveal period for voting\n@param _pRevealStageLen length of reveal period for voting in parameterizer\n@param _voteQuorum type of majority out of 100 necessary for vote success\n@param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer", - "id": 232, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Parameterizer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 130, - "name": "_tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3294:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3294:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 132, - "name": "_plcrAddr", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3318:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3318:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 134, - "name": "_minDeposit", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3341:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 133, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3341:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 136, - "name": "_pMinDeposit", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3363:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 135, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3363:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 138, - "name": "_applyStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3386:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 137, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3386:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 140, - "name": "_pApplyStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3411:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3411:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 142, - "name": "_commitStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3437:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 141, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3437:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 144, - "name": "_pCommitStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3463:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 143, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3463:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 146, - "name": "_revealStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3490:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 145, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3490:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 148, - "name": "_pRevealStageLen", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3516:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 147, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3516:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 150, - "name": "_dispensationPct", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3543:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 149, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3543:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "name": "_pDispensationPct", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3570:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 151, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3570:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 154, - "name": "_voteQuorum", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3598:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 153, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3598:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 156, - "name": "_pVoteQuorum", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "3620:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 155, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3620:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3288:355:1" - }, - "payable": false, - "returnParameters": { - "id": 158, - "nodeType": "ParameterList", - "parameters": [], - "src": "3653:0:1" - }, - "scope": 1003, - "src": "3266:977:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 355, - "nodeType": "Block", - "src": "4625:1000:1", - "statements": [ - { - "assignments": [ - 242 - ], - "declarations": [ - { - "constant": false, - "id": 242, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4631:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 241, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4631:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 246, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704d696e4465706f736974", - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4650:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - }, - "value": "pMinDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", - "typeString": "literal_string \"pMinDeposit\"" - } - ], - "id": 243, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "4646:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4646:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4631:33:1" - }, - { - "assignments": [ - 248 - ], - "declarations": [ - { - "constant": false, - "id": 248, - "name": "propID", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4670:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 247, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4670:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 253, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 250, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4697:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 251, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "4704:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 249, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4687:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:24:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4670:41:1" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 255, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4732:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 254, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4722:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4722:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4752:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - } - ], - "id": 257, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4742:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4742:28:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4722:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 262, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4791:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 261, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4781:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4781:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4811:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - } - ], - "id": 264, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "4801:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4801:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4781:49:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4722:108:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 276, - "nodeType": "IfStatement", - "src": "4718:151:1", - "trueBody": { - "id": 275, - "nodeType": "Block", - "src": "4832:37:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 270, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "4848:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4858:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4848:13:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 269, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4840:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4840:22:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 274, - "nodeType": "ExpressionStatement", - "src": "4840:22:1" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4883:19:1", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 279, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "4895:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 278, - "name": "propExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "4884:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4884:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 277, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4875:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4875:28:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "4875:28:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 286, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4951:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 285, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "4947:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4947:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 288, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "4961:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4947:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 284, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4939:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4939:29:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 291, - "nodeType": "ExpressionStatement", - "src": "4939:29:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 292, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "5049:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 294, - "indexExpression": { - "argumentTypes": null, - "id": 293, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5059:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5049:17:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5114:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - } - ], - "id": 298, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5110:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5110:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 296, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "5102:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5102:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5102:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5153:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 303, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "5171:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 304, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "5192:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 305, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5212:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5212:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "PROCESSBY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "5359:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5326:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - } - ], - "id": 319, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5322:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5322:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5289:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - } - ], - "id": 314, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5285:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5285:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5253:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - } - ], - "id": 309, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "5249:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5249:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 307, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "5241:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:43:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:67:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:80:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:104:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "5241:117:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5241:128:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 326, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "5384:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": null, - "id": 295, - "name": "ParamProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "5069:13:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ParamProposal_$94_storage_ptr_$", - "typeString": "type(struct Parameterizer.ParamProposal storage pointer)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "appExpiry", - "challengeID", - "deposit", - "name", - "owner", - "processBy", - "value" - ], - "nodeType": "FunctionCall", - "src": "5069:328:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "src": "5049:348:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "5049:348:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 333, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5431:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5431:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 335, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "5443:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - { - "argumentTypes": null, - "id": 336, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "5449:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 331, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "5412:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "5412:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:45:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 330, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5404:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5404:54:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 339, - "nodeType": "ExpressionStatement", - "src": "5404:54:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 341, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "5529:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 342, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "5536:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 343, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5544:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 344, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "5552:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 345, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "5561:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 347, - "indexExpression": { - "argumentTypes": null, - "id": 346, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5571:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5561:17:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "appExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "5561:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 349, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5590:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5590:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 340, - "name": "_ReparameterizationProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24, - "src": "5501:27:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (string memory,uint256,bytes32,uint256,uint256,address)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5501:100:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 352, - "nodeType": "EmitStatement", - "src": "5496:105:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 353, - "name": "propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "5614:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 240, - "id": 354, - "nodeType": "Return", - "src": "5607:13:1" - } - ] - }, - "documentation": "@notice propose a reparamaterization of the key _name's value to _value.\n@param _name the name of the proposed param to be set\n@param _value the proposed value to set the param to be set", - "id": 356, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "proposeReparameterization", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 234, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4573:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 233, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4573:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 236, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4587:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 235, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4587:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4572:27:1" - }, - "payable": false, - "returnParameters": { - "id": 240, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 239, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 356, - "src": "4616:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 238, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4616:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4615:9:1" - }, - "scope": 1003, - "src": "4538:1087:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 468, - "nodeType": "Block", - "src": "5854:938:1", - "statements": [ - { - "assignments": [ - 364 - ], - "declarations": [ - { - "constant": false, - "id": 364, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5860:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 363, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "5860:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 368, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 365, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "5888:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 367, - "indexExpression": { - "argumentTypes": null, - "id": 366, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "5898:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5888:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5860:46:1" - }, - { - "assignments": [ - 370 - ], - "declarations": [ - { - "constant": false, - "id": 370, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5912:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 369, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5912:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 373, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 371, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5927:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "5927:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5912:27:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 376, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "5965:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 375, - "name": "propExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 777, - "src": "5954:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5954:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 378, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5977:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "5977:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5997:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5977:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5954:44:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 374, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5946:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5946:53:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 384, - "nodeType": "ExpressionStatement", - "src": "5946:53:1" - }, - { - "assignments": [ - 386 - ], - "declarations": [ - { - "constant": false, - "id": 386, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "6023:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 385, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6023:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 399, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70566f746551756f72756d", - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6065:13:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - }, - "value": "pVoteQuorum" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", - "typeString": "literal_string \"pVoteQuorum\"" - } - ], - "id": 389, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6061:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6061:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6091:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - } - ], - "id": 392, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6087:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6087:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6121:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - } - ], - "id": 395, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6117:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6117:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 387, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "6037:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "startPoll", - "nodeType": "MemberAccess", - "referencedDeclaration": 3121, - "src": "6037:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) external returns (uint256)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6037:108:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6023:122:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 400, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "6152:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 402, - "indexExpression": { - "argumentTypes": null, - "id": 401, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6163:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6152:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 404, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6203:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6203:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6293:3:1", - "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" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 414, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "6280:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6246:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - } - ], - "id": 409, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6251:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6251:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 406, - "name": "SafeMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3877, - "src": "6233:8:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeMath_$3877_$", - "typeString": "type(library SafeMath)" - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3852, - "src": "6233:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:42:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 3814, - "src": "6233:46:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:55:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 3832, - "src": "6233:59:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6233:64:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 419, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "6312:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6337:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6365:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 403, - "name": "Challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 109, - "src": "6173:9:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Challenge_$109_storage_ptr_$", - "typeString": "type(struct Parameterizer.Challenge storage pointer)" - } - }, - "id": 422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "challenger", - "rewardPool", - "stake", - "resolved", - "winningTokens" - ], - "nodeType": "FunctionCall", - "src": "6173:200:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_memory", - "typeString": "struct Parameterizer.Challenge memory" - } - }, - "src": "6152:221:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 424, - "nodeType": "ExpressionStatement", - "src": "6152:221:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 425, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "6380:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 427, - "indexExpression": { - "argumentTypes": null, - "id": 426, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "6390:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6380:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "6380:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 429, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6413:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6380:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 431, - "nodeType": "ExpressionStatement", - "src": "6380:39:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 435, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6542:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6542:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 437, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "6554:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - { - "argumentTypes": null, - "id": 438, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 370, - "src": "6560:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 433, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "6523:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "6523:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6523:45:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6515:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6515:54:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 441, - "nodeType": "ExpressionStatement", - "src": "6515:54:1" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 443, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "6576:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 442, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6576:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 444, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6576:18:1" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 446, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "6600:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 445, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6600:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 447, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6600:18:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 448, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 443, - "src": "6625:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 449, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6640:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null - ], - "id": 450, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "6624:31:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", - "typeString": "tuple(uint256,uint256,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 453, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6673:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 451, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "6658:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollMap", - "nodeType": "MemberAccess", - "referencedDeclaration": 2561, - "src": "6658:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6658:22:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "6624:56:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 456, - "nodeType": "ExpressionStatement", - "src": "6624:56:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "6710:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 459, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6719:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 443, - "src": "6727:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 446, - "src": "6742:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 462, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6757:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6757:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 457, - "name": "_NewChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "6696:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256,address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6696:72:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 465, - "nodeType": "EmitStatement", - "src": "6691:77:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 466, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "6781:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 362, - "id": 467, - "nodeType": "Return", - "src": "6774:13:1" - } - ] - }, - "documentation": "@notice challenge the provided proposal ID, and put tokens at stake to do so.\n@param _propID the proposal ID to challenge", - "id": 469, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "challengeReparameterization", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 358, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5803:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 357, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5803:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5802:17:1" - }, - "payable": false, - "returnParameters": { - "id": 362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 361, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 469, - "src": "5836:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 360, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5836:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5835:18:1" - }, - "scope": 1003, - "src": "5766:1026:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 601, - "nodeType": "Block", - "src": "7136:1559:1", - "statements": [ - { - "assignments": [ - 475 - ], - "declarations": [ - { - "constant": false, - "id": 475, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7142:26:1", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 474, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "7142:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 479, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 476, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "7171:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 478, - "indexExpression": { - "argumentTypes": null, - "id": 477, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7181:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7171:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7142:47:1" - }, - { - "assignments": [ - 481 - ], - "declarations": [ - { - "constant": false, - "id": 481, - "name": "propOwner", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7195:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 480, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7195:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 484, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 482, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7215:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "7215:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7195:30:1" - }, - { - "assignments": [ - 486 - ], - "declarations": [ - { - "constant": false, - "id": 486, - "name": "propDeposit", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7231:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7231:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 489, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 487, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7250:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 488, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "deposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 85, - "src": "7250:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7231:31:1" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7452:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 490, - "name": "canBeSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "7443:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7443:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 523, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7847:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 522, - "name": "challengeCanBeResolved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 815, - "src": "7824:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7824:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 530, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "7959:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 531, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7965:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "7965:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7959:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 555, - "nodeType": "Block", - "src": "8208:151:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 552, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3897, - 3898 - ], - "referencedDeclaration": 3897, - "src": "8344:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8344:8:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 554, - "nodeType": "ExpressionStatement", - "src": "8344:8:1" - } - ] - }, - "id": 556, - "nodeType": "IfStatement", - "src": "7955:404:1", - "trueBody": { - "id": 551, - "nodeType": "Block", - "src": "7981:221:1", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 535, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "8099:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 534, - "name": "_ProposalExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 48, - "src": "8082:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8082:25:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 537, - "nodeType": "EmitStatement", - "src": "8077:30:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8115:25:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 538, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "8122:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 540, - "indexExpression": { - "argumentTypes": null, - "id": 539, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "8132:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8122:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 542, - "nodeType": "ExpressionStatement", - "src": "8115:25:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 546, - "name": "propOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 481, - "src": "8171:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 547, - "name": "propDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8182:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 544, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "8156:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "8156:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8156:38:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 543, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8148:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8148:47:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 550, - "nodeType": "ExpressionStatement", - "src": "8148:47:1" - } - ] - } - }, - "id": 557, - "nodeType": "IfStatement", - "src": "7820:539:1", - "trueBody": { - "id": 529, - "nodeType": "Block", - "src": "7857:92:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 526, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7934:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 525, - "name": "resolveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 986, - "src": "7917:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7917:25:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "7917:25:1" - } - ] - } - }, - "id": 558, - "nodeType": "IfStatement", - "src": "7439:920:1", - "trueBody": { - "id": 521, - "nodeType": "Block", - "src": "7462:352:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 494, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7635:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 495, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "7635:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 496, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7646:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 497, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "7646:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 493, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "7631:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7631:26:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 499, - "nodeType": "ExpressionStatement", - "src": "7631:26:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 501, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7688:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 502, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7697:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 503, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "7697:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 504, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "7708:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal storage pointer" - } - }, - "id": 505, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "7708:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 500, - "name": "_ProposalAccepted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44, - "src": "7670:17:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,string memory,uint256)" - } - }, - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7670:49:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 507, - "nodeType": "EmitStatement", - "src": "7665:54:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "7727:25:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 508, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "7734:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 510, - "indexExpression": { - "argumentTypes": null, - "id": 509, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "7744:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7734:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "7727:25:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 516, - "name": "propOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 481, - "src": "7783:9:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "propDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7794:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 514, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "7768:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "7768:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:38:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 513, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7760:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7760:47:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 520, - "nodeType": "ExpressionStatement", - "src": "7760:47:1" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8376:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - } - ], - "id": 560, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8372:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8372:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8398:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "8372:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 559, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "8365:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8365:37:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 566, - "nodeType": "ExpressionStatement", - "src": "8365:37:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7044697370656e736174696f6e506374", - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8419:18:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - }, - "value": "pDispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", - "typeString": "literal_string \"pDispensationPct\"" - } - ], - "id": 568, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8415:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8415:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8442:3:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "8415:30:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 567, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "8408:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8408:38:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 574, - "nodeType": "ExpressionStatement", - "src": "8408:38:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 593, - "name": "PROCESSBY", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "8648:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "7052657665616c53746167654c656e", - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8617:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - }, - "value": "pRevealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", - "typeString": "literal_string \"pRevealStageLen\"" - } - ], - "id": 588, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8613:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8613:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "70436f6d6d697453746167654c656e", - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8582:17:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - }, - "value": "pCommitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", - "typeString": "literal_string \"pCommitStageLen\"" - } - ], - "id": 583, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8578:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8578:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "704170706c7953746167654c656e", - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8548:16:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - }, - "value": "pApplyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", - "typeString": "literal_string \"pApplyStageLen\"" - } - ], - "id": 578, - "name": "get", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "8544:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8544:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 575, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "8536:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:41:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:65:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:76:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:100:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "8536:111:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8536:122:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "8536:122:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8665:25:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 596, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "8672:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 598, - "indexExpression": { - "argumentTypes": null, - "id": 597, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "8682:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8672:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 600, - "nodeType": "ExpressionStatement", - "src": "8665:25:1" - } - ] - }, - "documentation": "@notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n@param _propID the proposal ID to make a determination and state transition for", - "id": 602, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "processProposal", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 471, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 602, - "src": "7112:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 470, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7112:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7111:17:1" - }, - "payable": false, - "returnParameters": { - "id": 473, - "nodeType": "ParameterList", - "parameters": [], - "src": "7136:0:1" - }, - "scope": 1003, - "src": "7087:1608:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 689, - "nodeType": "Block", - "src": "8979:844:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 610, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9086:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 612, - "indexExpression": { - "argumentTypes": null, - "id": 611, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9097:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9086:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 108, - "src": "9086:36:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 616, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 614, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9123:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9123:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9086:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9138:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "9086:57:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9078:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9078:66:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 620, - "nodeType": "ExpressionStatement", - "src": "9078:66:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 622, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9158:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 624, - "indexExpression": { - "argumentTypes": null, - "id": 623, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9169:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9158:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "9158:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9195:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9158:41:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9150:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9150:50:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 629, - "nodeType": "ExpressionStatement", - "src": "9150:50:1" - }, - { - "assignments": [ - 631 - ], - "declarations": [ - { - "constant": false, - "id": 631, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "9207:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 630, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9207:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 639, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 634, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9253:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9253:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 636, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9265:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 637, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "9279:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 632, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "9226:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "9226:26:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9226:59:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9207:78:1" - }, - { - "assignments": [ - 641 - ], - "declarations": [ - { - "constant": false, - "id": 641, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "9291:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9291:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 648, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9317:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9317:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 645, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9329:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 646, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "9343:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 642, - "name": "voterReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 732, - "src": "9305:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view returns (uint256)" - } - }, - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9305:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9291:58:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 649, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9494:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 651, - "indexExpression": { - "argumentTypes": null, - "id": 650, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9505:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9494:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 652, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "9494:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 653, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9536:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9494:53:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 655, - "nodeType": "ExpressionStatement", - "src": "9494:53:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 656, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9553:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 658, - "indexExpression": { - "argumentTypes": null, - "id": 657, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9564:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9553:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 659, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "9553:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 660, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9592:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9553:45:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 662, - "nodeType": "ExpressionStatement", - "src": "9553:45:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 663, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "9654:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 665, - "indexExpression": { - "argumentTypes": null, - "id": 664, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9665:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9654:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 108, - "src": "9654:36:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 669, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 667, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9691:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9691:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9654:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9705:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9654:55:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 672, - "nodeType": "ExpressionStatement", - "src": "9654:55:1" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 674, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "9736:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9750:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 676, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9758:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9758:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 673, - "name": "_RewardClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76, - "src": "9721:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9721:48:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "EmitStatement", - "src": "9716:53:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 683, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9798:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9798:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 685, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9810:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 681, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "9783:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "9783:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9783:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 680, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9775:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9775:43:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 688, - "nodeType": "ExpressionStatement", - "src": "9775:43:1" - } - ] - }, - "documentation": "@notice claim the tokens owed for the msg.sender in the provided challenge\n@param _challengeID the challenge ID to claim tokens for\n@param _salt the salt used to vote in the challenge being withdrawn for", - "id": 690, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "claimReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 604, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "8941:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8941:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 606, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 690, - "src": "8960:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 605, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8960:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8940:31:1" - }, - "payable": false, - "returnParameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [], - "src": "8979:0:1" - }, - "scope": 1003, - "src": "8920:903:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 731, - "nodeType": "Block", - "src": "10378:264:1", - "statements": [ - { - "assignments": [ - 702 - ], - "declarations": [ - { - "constant": false, - "id": 702, - "name": "winningTokens", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10384:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 701, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10384:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 707, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 703, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "10405:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 705, - "indexExpression": { - "argumentTypes": null, - "id": 704, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "10416:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10405:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "10405:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10384:59:1" - }, - { - "assignments": [ - 709 - ], - "declarations": [ - { - "constant": false, - "id": 709, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10449:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 708, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10449:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 714, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 710, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "10467:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 712, - "indexExpression": { - "argumentTypes": null, - "id": 711, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "10478:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10467:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "10467:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10449:53:1" - }, - { - "assignments": [ - 716 - ], - "declarations": [ - { - "constant": false, - "id": 716, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10508:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 715, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10508:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 723, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 719, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "10554:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 720, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "10562:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 721, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 696, - "src": "10576:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 717, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "10527:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "10527:26:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10527:55:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10508:74:1" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 724, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "10596:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 725, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "10610:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10596:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 727, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10595:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 728, - "name": "winningTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 702, - "src": "10624:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10595:42:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 700, - "id": 730, - "nodeType": "Return", - "src": "10588:49:1" - } - ] - }, - "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The ID of the challenge the voter's reward is being calculated for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", - "id": 732, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "voterReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10300:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10300:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 694, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10316:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 693, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10316:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 696, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10335:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 695, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10335:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10299:47:1" - }, - "payable": false, - "returnParameters": { - "id": 700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 699, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 732, - "src": "10370:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 698, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10370:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10369:6:1" - }, - "scope": 1003, - "src": "10279:363:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 761, - "nodeType": "Block", - "src": "10921:142:1", - "statements": [ - { - "assignments": [ - 740 - ], - "declarations": [ - { - "constant": false, - "id": 740, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 762, - "src": "10927:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 739, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "10927:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 744, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 741, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "10955:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 743, - "indexExpression": { - "argumentTypes": null, - "id": 742, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "10965:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10955:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10927:46:1" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 745, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "10988:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 746, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "10994:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "appExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 81, - "src": "10994:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10988:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 749, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "11012:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 750, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "11018:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 751, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "11018:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11012:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10988:44:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 754, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "11036:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 755, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11036:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11056:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11036:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10988:69:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 759, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10987:71:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 738, - "id": 760, - "nodeType": "Return", - "src": "10980:78:1" - } - ] - }, - "documentation": "@notice Determines whether a proposal passed its application stage without a challenge\n@param _propID The proposal ID for which to determine whether its application stage passed without a challenge", - "id": 762, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canBeSet", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 735, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 734, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 762, - "src": "10877:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 733, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10877:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10876:17:1" - }, - "payable": false, - "returnParameters": { - "id": 738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 737, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 762, - "src": "10915:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 736, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10915:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10914:6:1" - }, - "scope": 1003, - "src": "10859:204:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 776, - "nodeType": "Block", - "src": "11287:50:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 769, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "11300:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 771, - "indexExpression": { - "argumentTypes": null, - "id": 770, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 764, - "src": "11310:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11300:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "id": 772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "11300:28:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11331:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11300:32:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 768, - "id": 775, - "nodeType": "Return", - "src": "11293:39:1" - } - ] - }, - "documentation": "@notice Determines whether a proposal exists for the provided proposal ID\n@param _propID The proposal ID whose existance is to be determined", - "id": 777, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "propExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 764, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 777, - "src": "11243:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 763, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11243:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11242:17:1" - }, - "payable": false, - "returnParameters": { - "id": 768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 767, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 777, - "src": "11281:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 766, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11281:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11280:6:1" - }, - "scope": 1003, - "src": "11223:114:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 814, - "nodeType": "Block", - "src": "11580:225:1", - "statements": [ - { - "assignments": [ - 785 - ], - "declarations": [ - { - "constant": false, - "id": 785, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11586:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 784, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "11586:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 789, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 786, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "11614:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 788, - "indexExpression": { - "argumentTypes": null, - "id": 787, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "11624:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11614:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11586:46:1" - }, - { - "assignments": [ - 791 - ], - "declarations": [ - { - "constant": false, - "id": 791, - "name": "challenge", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11638:26:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_memory_ptr", - "typeString": "struct Parameterizer.Challenge" - }, - "typeName": { - "contractScope": null, - "id": 790, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "11638:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 796, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 792, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "11667:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 795, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 793, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11678:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11678:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11667:28:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11638:57:1" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 797, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11710:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11710:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11729:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11710:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 801, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 791, - "src": "11734:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_memory_ptr", - "typeString": "struct Parameterizer.Challenge memory" - } - }, - "id": 802, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "11734:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11756:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "11734:27:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11710:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 808, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11782:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 809, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "11782:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 806, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "11765:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollEnded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3207, - "src": "11765:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11765:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11710:89:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11709:91:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 783, - "id": 813, - "nodeType": "Return", - "src": "11702:98:1" - } - ] - }, - "documentation": "@notice Determines whether the provided proposal ID has a challenge which can be resolved\n@param _propID The proposal ID whose challenge to inspect", - "id": 815, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeCanBeResolved", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 779, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11536:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 778, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11535:17:1" - }, - "payable": false, - "returnParameters": { - "id": 783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 782, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 815, - "src": "11574:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 781, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11574:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11573:6:1" - }, - "scope": 1003, - "src": "11504:301:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 850, - "nodeType": "Block", - "src": "12050:293:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 824, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12106:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 822, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "12060:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "12060:45:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12060:59:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12123:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12060:64:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 836, - "nodeType": "IfStatement", - "src": "12056:195:1", - "trueBody": { - "id": 835, - "nodeType": "Block", - "src": "12126:125:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12210:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 829, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12214:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 831, - "indexExpression": { - "argumentTypes": null, - "id": 830, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12225:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12214:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 832, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 102, - "src": "12214:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12210:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 821, - "id": 834, - "nodeType": "Return", - "src": "12203:41:1" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12265:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 838, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12269:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 840, - "indexExpression": { - "argumentTypes": null, - "id": 839, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12280:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12269:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 841, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 102, - "src": "12269:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12265:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 843, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12264:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 844, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12303:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 846, - "indexExpression": { - "argumentTypes": null, - "id": 845, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "12314:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12303:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "12303:35:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12264:74:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 821, - "id": 849, - "nodeType": "Return", - "src": "12257:81:1" - } - ] - }, - "documentation": "@notice Determines the number of tokens to awarded to the winning party in a challenge\n@param _challengeID The challengeID to determine a reward for", - "id": 851, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeWinnerReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 817, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 851, - "src": "12004:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 816, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12004:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12003:19:1" - }, - "payable": false, - "returnParameters": { - "id": 821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 820, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 851, - "src": "12044:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 819, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12044:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12043:6:1" - }, - "scope": 1003, - "src": "11973:370:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 864, - "nodeType": "Block", - "src": "12559:42:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 858, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "12572:6:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 862, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 860, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 853, - "src": "12589:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 859, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "12579:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12579:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12572:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 857, - "id": 863, - "nodeType": "Return", - "src": "12565:31:1" - } - ] - }, - "documentation": "@notice gets the parameter keyed by the provided name value from the params mapping\n@param _name the key whose value is to be determined", - "id": 865, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 853, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 865, - "src": "12512:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "12512:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12511:14:1" - }, - "payable": false, - "returnParameters": { - "id": 857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 856, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 865, - "src": "12547:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 855, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12547:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12546:12:1" - }, - "scope": 1003, - "src": "12499:102:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 881, - "nodeType": "Block", - "src": "12899:62:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 874, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "12912:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 876, - "indexExpression": { - "argumentTypes": null, - "id": 875, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 867, - "src": "12923:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12912:24:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 877, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 108, - "src": "12912:36:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 879, - "indexExpression": { - "argumentTypes": null, - "id": 878, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 869, - "src": "12949:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12912:44:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 873, - "id": 880, - "nodeType": "Return", - "src": "12905:51:1" - } - ] - }, - "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", - "id": 882, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "tokenClaims", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 867, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "12837:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 866, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12837:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 869, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "12856:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12856:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12836:35:1" - }, - "payable": false, - "returnParameters": { - "id": 873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 872, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 882, - "src": "12893:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 871, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12893:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12892:6:1" - }, - "scope": 1003, - "src": "12816:145:1", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 985, - "nodeType": "Block", - "src": "13289:943:1", - "statements": [ - { - "assignments": [ - 888 - ], - "declarations": [ - { - "constant": false, - "id": 888, - "name": "prop", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13295:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal" - }, - "typeName": { - "contractScope": null, - "id": 887, - "name": "ParamProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 94, - "src": "13295:13:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage_ptr", - "typeString": "struct Parameterizer.ParamProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 892, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 889, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 121, - "src": "13323:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$94_storage_$", - "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" - } - }, - "id": 891, - "indexExpression": { - "argumentTypes": null, - "id": 890, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "13333:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13323:18:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_storage", - "typeString": "struct Parameterizer.ParamProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13295:46:1" - }, - { - "assignments": [ - 894 - ], - "declarations": [ - { - "constant": false, - "id": 894, - "name": "challenge", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13347:27:1", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - }, - "typeName": { - "contractScope": null, - "id": 893, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 109, - "src": "13347:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 899, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 895, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "13377:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 898, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 896, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13388:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13388:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13377:28:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13347:58:1" - }, - { - "assignments": [ - 901 - ], - "declarations": [ - { - "constant": false, - "id": 901, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13497:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 900, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13497:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 906, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 903, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13533:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13533:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 902, - "name": "challengeWinnerReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "13511:21:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13511:39:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13497:53:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 907, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13557:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "13557:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 912, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13629:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13629:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 910, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "13583:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "13583:45:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13583:63:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13557:89:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 916, - "nodeType": "ExpressionStatement", - "src": "13557:89:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 917, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13652:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 100, - "src": "13652:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13673:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "13652:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 922, - "nodeType": "ExpressionStatement", - "src": "13652:25:1" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 925, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13704:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13704:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 923, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "13688:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isPassed", - "nodeType": "MemberAccess", - "referencedDeclaration": 3158, - "src": "13688:15:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13688:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 983, - "nodeType": "Block", - "src": "13992:236:1", - "statements": [ - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 962, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "14068:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 963, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "14077:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "14077:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 965, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "14095:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "14095:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 967, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "14117:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "14117:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 961, - "name": "_ChallengeSucceeded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58, - "src": "14048:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14048:93:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 970, - "nodeType": "EmitStatement", - "src": "14043:98:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 974, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "14172:10:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$109_storage_$", - "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" - } - }, - "id": 977, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 975, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "14183:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "14183:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14172:28:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage", - "typeString": "struct Parameterizer.Challenge storage ref" - } - }, - "id": 978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challenger", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "14172:39:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 979, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "14213:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 972, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "14157:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "14157:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14157:63:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "14149:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14149:72:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 982, - "nodeType": "ExpressionStatement", - "src": "14149:72:1" - } - ] - }, - "id": 984, - "nodeType": "IfStatement", - "src": "13684:544:1", - "trueBody": { - "id": 960, - "nodeType": "Block", - "src": "13723:263:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 928, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13759:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 929, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "processBy", - "nodeType": "MemberAccess", - "referencedDeclaration": 91, - "src": "13759:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 930, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "13776:3:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13759:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 940, - "nodeType": "IfStatement", - "src": "13755:71:1", - "trueBody": { - "id": 939, - "nodeType": "Block", - "src": "13781:45:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 933, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13795:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 87, - "src": "13795:9:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 935, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13806:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 936, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93, - "src": "13806:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 932, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "13791:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13791:26:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 938, - "nodeType": "ExpressionStatement", - "src": "13791:26:1" - } - ] - } - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 942, - "name": "_propID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "13855:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 943, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13864:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 83, - "src": "13864:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 945, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13882:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "13882:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 947, - "name": "challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13904:9:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$109_storage_ptr", - "typeString": "struct Parameterizer.Challenge storage pointer" - } - }, - "id": 948, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winningTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 104, - "src": "13904:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 941, - "name": "_ChallengeFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "13838:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13838:90:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 950, - "nodeType": "EmitStatement", - "src": "13833:95:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 954, - "name": "prop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "13959:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ParamProposal_$94_memory_ptr", - "typeString": "struct Parameterizer.ParamProposal memory" - } - }, - "id": 955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 89, - "src": "13959:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 956, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "13971:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 952, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 123, - "src": "13944:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "13944:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13944:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 951, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13936:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13936:43:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 959, - "nodeType": "ExpressionStatement", - "src": "13936:43:1" - } - ] - } - } - ] - }, - "documentation": "@dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n@param _propID the proposal ID whose challenge is to be resolved.", - "id": 986, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resolveChallenge", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 884, - "name": "_propID", - "nodeType": "VariableDeclaration", - "scope": 986, - "src": "13264:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 883, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13264:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13263:17:1" - }, - "payable": false, - "returnParameters": { - "id": 886, - "nodeType": "ParameterList", - "parameters": [], - "src": "13289:0:1" - }, - "scope": 1003, - "src": "13238:994:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 1001, - "nodeType": "Block", - "src": "14466:44:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 993, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 113, - "src": "14472:6:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 997, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 995, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "14489:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 994, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3886, - "src": "14479:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14479:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14472:24:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 998, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 990, - "src": "14499:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14472:33:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1000, - "nodeType": "ExpressionStatement", - "src": "14472:33:1" - } - ] - }, - "documentation": "@dev sets the param keted by the provided name to the provided value\n@param _name the name of the param to be set\n@param _value the value to set the param to be set", - "id": 1002, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "set", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 991, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 988, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "14431:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 987, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14431:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 990, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1002, - "src": "14445:11:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 989, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14445:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14430:27:1" - }, - "payable": false, - "returnParameters": { - "id": 992, - "nodeType": "ParameterList", - "parameters": [], - "src": "14466:0:1" - }, - "scope": 1003, - "src": "14418:92:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 1004, - "src": "142:14370:1" - } - ], - "src": "0:14513:1" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.084Z" -} \ No newline at end of file diff --git a/build/contracts/Registry.json b/build/contracts/Registry.json deleted file mode 100644 index 4ec6b7b..0000000 --- a/build/contracts/Registry.json +++ /dev/null @@ -1,30517 +0,0 @@ -{ - "contractName": "Registry", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "challenges", - "outputs": [ - { - "name": "rewardPool", - "type": "uint256" - }, - { - "name": "challenger", - "type": "address" - }, - { - "name": "resolved", - "type": "bool" - }, - { - "name": "stake", - "type": "uint256" - }, - { - "name": "totalTokens", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "name": "listings", - "outputs": [ - { - "name": "applicationExpiry", - "type": "uint256" - }, - { - "name": "whitelisted", - "type": "bool" - }, - { - "name": "owner", - "type": "address" - }, - { - "name": "unstakedDeposit", - "type": "uint256" - }, - { - "name": "challengeID", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "parameterizer", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "voting", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "_tokenAddr", - "type": "address" - }, - { - "name": "_plcrAddr", - "type": "address" - }, - { - "name": "_paramsAddr", - "type": "address" - }, - { - "name": "_name", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - }, - { - "indexed": false, - "name": "deposit", - "type": "uint256" - }, - { - "indexed": false, - "name": "appEndDate", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "string" - }, - { - "indexed": true, - "name": "applicant", - "type": "address" - } - ], - "name": "_Application", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - }, - { - "indexed": false, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "string" - }, - { - "indexed": false, - "name": "commitEndDate", - "type": "uint256" - }, - { - "indexed": false, - "name": "revealEndDate", - "type": "uint256" - }, - { - "indexed": true, - "name": "challenger", - "type": "address" - } - ], - "name": "_Challenge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - }, - { - "indexed": false, - "name": "added", - "type": "uint256" - }, - { - "indexed": false, - "name": "newTotal", - "type": "uint256" - }, - { - "indexed": true, - "name": "owner", - "type": "address" - } - ], - "name": "_Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - }, - { - "indexed": false, - "name": "withdrew", - "type": "uint256" - }, - { - "indexed": false, - "name": "newTotal", - "type": "uint256" - }, - { - "indexed": true, - "name": "owner", - "type": "address" - } - ], - "name": "_Withdrawal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - } - ], - "name": "_ApplicationWhitelisted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - } - ], - "name": "_ApplicationRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - } - ], - "name": "_ListingRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - } - ], - "name": "_ListingWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - } - ], - "name": "_TouchAndRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - }, - { - "indexed": true, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalTokens", - "type": "uint256" - } - ], - "name": "_ChallengeFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "listingHash", - "type": "bytes32" - }, - { - "indexed": true, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "rewardPool", - "type": "uint256" - }, - { - "indexed": false, - "name": "totalTokens", - "type": "uint256" - } - ], - "name": "_ChallengeSucceeded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "challengeID", - "type": "uint256" - }, - { - "indexed": false, - "name": "reward", - "type": "uint256" - }, - { - "indexed": true, - "name": "voter", - "type": "address" - } - ], - "name": "_RewardClaimed", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_data", - "type": "string" - } - ], - "name": "apply", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - } - ], - "name": "exit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - }, - { - "name": "_data", - "type": "string" - } - ], - "name": "challenge", - "outputs": [ - { - "name": "challengeID", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - } - ], - "name": "updateStatus", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_challengeID", - "type": "uint256" - }, - { - "name": "_salt", - "type": "uint256" - } - ], - "name": "claimReward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_voter", - "type": "address" - }, - { - "name": "_challengeID", - "type": "uint256" - }, - { - "name": "_salt", - "type": "uint256" - } - ], - "name": "voterReward", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - } - ], - "name": "canBeWhitelisted", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - } - ], - "name": "isWhitelisted", - "outputs": [ - { - "name": "whitelisted", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - } - ], - "name": "appWasMade", - "outputs": [ - { - "name": "exists", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - } - ], - "name": "challengeExists", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_listingHash", - "type": "bytes32" - } - ], - "name": "challengeCanBeResolved", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_challengeID", - "type": "uint256" - } - ], - "name": "determineReward", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_challengeID", - "type": "uint256" - }, - { - "name": "_voter", - "type": "address" - } - ], - "name": "tokenClaims", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b50604051620033dc380380620033dc8339810180604052810190808051906020019092919080519060200190929190805190602001909291908051820192919050505083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600590805190602001906200012f9291906200013a565b5050505050620001e9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017d57805160ff1916838001178555620001ae565b82800160010185558215620001ae579182015b82811115620001ad57825182559160200191906001019062000190565b5b509050620001bd9190620001c1565b5090565b620001e691905b80821115620001e2576000816000905550600101620001c8565b5090565b90565b6131e380620001f96000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016b57806306fdde03146101a65780630ca36263146102365780631b7bbecb146102675780631de26e16146102b057806343cffefe146102eb578063691a38ab1461034857806377609a411461039157806386bb8f37146103da57806389bb55c7146104115780638a59eb56146104645780638cf8151f146104955780638f1d3776146104de578063a5ba3b1e1461056b578063a7aad3db146105d0578063c18b8db41461063b578063c8187cf1146106cc578063e1e3f9151461070d578063fc0c546a14610764578063fce1ccca146107bb575b600080fd5b34801561012e57600080fd5b506101516004803603810190808035600019169060200190929190505050610812565b604051808215151515815260200191505060405180910390f35b34801561017757600080fd5b506101a4600480360381019080803560001916906020019092919080359060200190929190505050610847565b005b3480156101b257600080fd5b506101bb610b69565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024257600080fd5b506102656004803603810190808035600019169060200190929190505050610c07565b005b34801561027357600080fd5b506102966004803603810190808035600019169060200190929190505050610d17565b604051808215151515815260200191505060405180910390f35b3480156102bc57600080fd5b506102e9600480360381019080803560001916906020019092919080359060200190929190505050610d91565b005b3480156102f757600080fd5b506103326004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050610fc3565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b506103776004803603810190808035600019169060200190929190505050611a51565b604051808215151515815260200191505060405180910390f35b34801561039d57600080fd5b506103c06004803603810190808035600019169060200190929190505050611b0f565b604051808215151515815260200191505060405180910390f35b3480156103e657600080fd5b5061040f6004803603810190808035906020019092919080359060200190929190505050611c1b565b005b34801561041d57600080fd5b50610462600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390505050611fed565b005b34801561047057600080fd5b50610493600480360381019080803560001916906020019092919050505061248f565b005b3480156104a157600080fd5b506104c460048036038101908080356000191690602001909291905050506124d0565b604051808215151515815260200191505060405180910390f35b3480156104ea57600080fd5b50610509600480360381019080803590602001909291905050506124fa565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34801561057757600080fd5b506105b660048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061255d565b604051808215151515815260200191505060405180910390f35b3480156105dc57600080fd5b50610625600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506125c7565b6040518082815260200191505060405180910390f35b34801561064757600080fd5b5061066a6004803603810190808035600019169060200190929190505050612721565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b3480156106d857600080fd5b506106f760048036038101908080359060200190929190505050612784565b6040518082815260200191505060405180910390f35b34801561071957600080fd5b506107226129b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077057600080fd5b506107796129db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107c757600080fd5b506107d0612a01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156108c457600080fd5b806002015482111515156108d757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561099957600080fd5b505af11580156109ad573d6000803e3d6000fd5b505050506040513d60208110156109c357600080fd5b810190808051906020019092919050505082826002015403101515156109e857600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d6020811015610ae957600080fd5b81019080805190602001909291905050501515610b0557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bff5780601f10610bd457610100808354040283529160200191610bff565b820191906000526020600020905b815481529060010190602001808311610be257829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8457600080fd5b610c8d82610812565b1515610c9857600080fd5b600081600301541480610cce57506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610cd957600080fd5b610ce282612a27565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610d89575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e0e57600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b81019080805190602001909291905050501515610f5f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156110ab57600080fd5b505af11580156110bf573d6000803e3d6000fd5b505050506040513d60208110156110d557600080fd5b810190808051906020019092919050505093506110f1896124d0565b8061110a57508460010160009054906101000a900460ff165b151561111557600080fd5b60008560030154148061114b57506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561115657600080fd5b83856002015410156111a55761116b89612a27565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a260009550611a45565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156112a557600080fd5b505af11580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b505050506040513d60208110156113cc57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561149f57600080fd5b505af11580156114b3573d6000803e3d6000fd5b505050506040513d60208110156114c957600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b505050506040513d602081101561156457600080fd5b8101908080519060200190929190505050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b505050506040513d602081101561167257600080fd5b81019080805190602001909291905050506064030281151561169057fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b505050506040513d602081101561189e57600080fd5b810190808051906020019092919050505015156118ba57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561194b57600080fd5b505af115801561195f573d6000803e3d6000fd5b505050506040513d60a081101561197557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b600080600160008460001916600019168152602001908152602001600020600301549050611a7e836124d0565b8015611aa757504260016000856000191660001916815260200190815260200160002060000154105b8015611ab95750611ab783610812565b155b8015611af657506000811480611af557506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611b045760019150611b09565b600091505b50919050565b600080600160008460001916600019168152602001908152602001600020600301549050611b3c83610d17565b1515611b4757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015611bd857600080fd5b505af1158015611bec573d6000803e3d6000fd5b505050506040513d6020811015611c0257600080fd5b8101908080519060200190929190505050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611c9057600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611cc557600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b505050506040513d6020811015611dbc57600080fd5b81019080805190602001909291905050509150611dda3385856125c7565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f5257600080fd5b505af1158015611f66573d6000803e3d6000fd5b505050506040513d6020811015611f7c57600080fd5b81019080805190602001909291905050501515611f9857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611ff885610812565b15151561200457600080fd5b61200d856124d0565b15151561201957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156120db57600080fd5b505af11580156120ef573d6000803e3d6000fd5b505050506040513d602081101561210557600080fd5b8101908080519060200190929190505050841015151561212457600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612293600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b810190808051906020019092919050505042612c8290919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156123c157600080fd5b505af11580156123d5573d6000803e3d6000fd5b505050506040513d60208110156123eb57600080fd5b8101908080519060200190929190505050151561240757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61249881611a51565b156124ab576124a681612ca0565b6124cd565b6124b481611b0f565b156124c7576124c281612d3d565b6124cc565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1580156126ca57600080fd5b505af11580156126de573d6000803e3d6000fd5b505050506040513d60208110156126f457600080fd5b810190808051906020019092919050505090508282820281151561271457fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff1615801561287e5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561284257600080fd5b505af1158015612856573d6000803e3d6000fd5b505050506040513d602081101561286c57600080fd5b81019080805190602001909291905050505b151561288957600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561291c57600080fd5b505af1158015612930573d6000803e3d6000fd5b505050506040513d602081101561294657600080fd5b8101908080519060200190929190505050141561297d576000808381526020019081526020016000206002015460020290506129b0565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff1615612a965783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a2612ac8565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550506000811115612c7c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612c3557600080fd5b505af1158015612c49573d6000803e3d6000fd5b505050506040513d6020811015612c5f57600080fd5b81019080805190602001909291905050501515612c7b57600080fd5b5b50505050565b6000808284019050838110151515612c9657fe5b8091505092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff161515612d045780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b600080600160008460001916600019168152602001908152602001600020600301549150612d6a82612784565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612e2b57600080fd5b505af1158015612e3f573d6000803e3d6000fd5b505050506040513d6020811015612e5557600080fd5b810190808051906020019092919050505060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612f1057600080fd5b505af1158015612f24573d6000803e3d6000fd5b505050506040513d6020811015612f3a57600080fd5b810190808051906020019092919050505015612ff957612f5983612ca0565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a36131b2565b61300283612a27565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130fc57600080fd5b505af1158015613110573d6000803e3d6000fd5b505050506040513d602081101561312657600080fd5b8101908080519060200190929190505050151561314257600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a7230582040a0dbc72fe8fc1dd774d82db9cacca5105e8487854615622f8d6299cd318f410029", - "deployedBytecode": "0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016b57806306fdde03146101a65780630ca36263146102365780631b7bbecb146102675780631de26e16146102b057806343cffefe146102eb578063691a38ab1461034857806377609a411461039157806386bb8f37146103da57806389bb55c7146104115780638a59eb56146104645780638cf8151f146104955780638f1d3776146104de578063a5ba3b1e1461056b578063a7aad3db146105d0578063c18b8db41461063b578063c8187cf1146106cc578063e1e3f9151461070d578063fc0c546a14610764578063fce1ccca146107bb575b600080fd5b34801561012e57600080fd5b506101516004803603810190808035600019169060200190929190505050610812565b604051808215151515815260200191505060405180910390f35b34801561017757600080fd5b506101a4600480360381019080803560001916906020019092919080359060200190929190505050610847565b005b3480156101b257600080fd5b506101bb610b69565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024257600080fd5b506102656004803603810190808035600019169060200190929190505050610c07565b005b34801561027357600080fd5b506102966004803603810190808035600019169060200190929190505050610d17565b604051808215151515815260200191505060405180910390f35b3480156102bc57600080fd5b506102e9600480360381019080803560001916906020019092919080359060200190929190505050610d91565b005b3480156102f757600080fd5b506103326004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050610fc3565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b506103776004803603810190808035600019169060200190929190505050611a51565b604051808215151515815260200191505060405180910390f35b34801561039d57600080fd5b506103c06004803603810190808035600019169060200190929190505050611b0f565b604051808215151515815260200191505060405180910390f35b3480156103e657600080fd5b5061040f6004803603810190808035906020019092919080359060200190929190505050611c1b565b005b34801561041d57600080fd5b50610462600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390505050611fed565b005b34801561047057600080fd5b50610493600480360381019080803560001916906020019092919050505061248f565b005b3480156104a157600080fd5b506104c460048036038101908080356000191690602001909291905050506124d0565b604051808215151515815260200191505060405180910390f35b3480156104ea57600080fd5b50610509600480360381019080803590602001909291905050506124fa565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34801561057757600080fd5b506105b660048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061255d565b604051808215151515815260200191505060405180910390f35b3480156105dc57600080fd5b50610625600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506125c7565b6040518082815260200191505060405180910390f35b34801561064757600080fd5b5061066a6004803603810190808035600019169060200190929190505050612721565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b3480156106d857600080fd5b506106f760048036038101908080359060200190929190505050612784565b6040518082815260200191505060405180910390f35b34801561071957600080fd5b506107226129b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077057600080fd5b506107796129db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107c757600080fd5b506107d0612a01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156108c457600080fd5b806002015482111515156108d757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561099957600080fd5b505af11580156109ad573d6000803e3d6000fd5b505050506040513d60208110156109c357600080fd5b810190808051906020019092919050505082826002015403101515156109e857600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d6020811015610ae957600080fd5b81019080805190602001909291905050501515610b0557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bff5780601f10610bd457610100808354040283529160200191610bff565b820191906000526020600020905b815481529060010190602001808311610be257829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8457600080fd5b610c8d82610812565b1515610c9857600080fd5b600081600301541480610cce57506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610cd957600080fd5b610ce282612a27565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610d89575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e0e57600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b81019080805190602001909291905050501515610f5f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156110ab57600080fd5b505af11580156110bf573d6000803e3d6000fd5b505050506040513d60208110156110d557600080fd5b810190808051906020019092919050505093506110f1896124d0565b8061110a57508460010160009054906101000a900460ff165b151561111557600080fd5b60008560030154148061114b57506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561115657600080fd5b83856002015410156111a55761116b89612a27565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a260009550611a45565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156112a557600080fd5b505af11580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b505050506040513d60208110156113cc57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561149f57600080fd5b505af11580156114b3573d6000803e3d6000fd5b505050506040513d60208110156114c957600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b505050506040513d602081101561156457600080fd5b8101908080519060200190929190505050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b505050506040513d602081101561167257600080fd5b81019080805190602001909291905050506064030281151561169057fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b505050506040513d602081101561189e57600080fd5b810190808051906020019092919050505015156118ba57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561194b57600080fd5b505af115801561195f573d6000803e3d6000fd5b505050506040513d60a081101561197557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b600080600160008460001916600019168152602001908152602001600020600301549050611a7e836124d0565b8015611aa757504260016000856000191660001916815260200190815260200160002060000154105b8015611ab95750611ab783610812565b155b8015611af657506000811480611af557506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611b045760019150611b09565b600091505b50919050565b600080600160008460001916600019168152602001908152602001600020600301549050611b3c83610d17565b1515611b4757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015611bd857600080fd5b505af1158015611bec573d6000803e3d6000fd5b505050506040513d6020811015611c0257600080fd5b8101908080519060200190929190505050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611c9057600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611cc557600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b505050506040513d6020811015611dbc57600080fd5b81019080805190602001909291905050509150611dda3385856125c7565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f5257600080fd5b505af1158015611f66573d6000803e3d6000fd5b505050506040513d6020811015611f7c57600080fd5b81019080805190602001909291905050501515611f9857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611ff885610812565b15151561200457600080fd5b61200d856124d0565b15151561201957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156120db57600080fd5b505af11580156120ef573d6000803e3d6000fd5b505050506040513d602081101561210557600080fd5b8101908080519060200190929190505050841015151561212457600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612293600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b810190808051906020019092919050505042612c8290919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156123c157600080fd5b505af11580156123d5573d6000803e3d6000fd5b505050506040513d60208110156123eb57600080fd5b8101908080519060200190929190505050151561240757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61249881611a51565b156124ab576124a681612ca0565b6124cd565b6124b481611b0f565b156124c7576124c281612d3d565b6124cc565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1580156126ca57600080fd5b505af11580156126de573d6000803e3d6000fd5b505050506040513d60208110156126f457600080fd5b810190808051906020019092919050505090508282820281151561271457fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff1615801561287e5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561284257600080fd5b505af1158015612856573d6000803e3d6000fd5b505050506040513d602081101561286c57600080fd5b81019080805190602001909291905050505b151561288957600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561291c57600080fd5b505af1158015612930573d6000803e3d6000fd5b505050506040513d602081101561294657600080fd5b8101908080519060200190929190505050141561297d576000808381526020019081526020016000206002015460020290506129b0565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff1615612a965783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a2612ac8565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550506000811115612c7c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612c3557600080fd5b505af1158015612c49573d6000803e3d6000fd5b505050506040513d6020811015612c5f57600080fd5b81019080805190602001909291905050501515612c7b57600080fd5b5b50505050565b6000808284019050838110151515612c9657fe5b8091505092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff161515612d045780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b600080600160008460001916600019168152602001908152602001600020600301549150612d6a82612784565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612e2b57600080fd5b505af1158015612e3f573d6000803e3d6000fd5b505050506040513d6020811015612e5557600080fd5b810190808051906020019092919050505060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612f1057600080fd5b505af1158015612f24573d6000803e3d6000fd5b505050506040513d6020811015612f3a57600080fd5b810190808051906020019092919050505015612ff957612f5983612ca0565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a36131b2565b61300283612a27565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130fc57600080fd5b505af1158015613110573d6000803e3d6000fd5b505050506040513d602081101561312657600080fd5b8101908080519060200190929190505050151561314257600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a7230582040a0dbc72fe8fc1dd774d82db9cacca5105e8487854615622f8d6299cd318f410029", - "sourceMap": "171:17160:2:-;;;2915:268;8:9:-1;5:2;;;30:1;27;20:12;5:2;2915:268:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:10;3042:5;;:34;;;;;;;;;;;;;;;;;;3102:9;3082:6;;:30;;;;;;;;;;;;;;;;;;3148:11;3118:13;;:42;;;;;;;;;;;;;;;;;;3173:5;3166:4;:12;;;;;;;;;;;;:::i;:::-;;2915:268;;;;171:17160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "171:17160:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12111:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12111:136:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5228:466;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5228:466:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2530:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2530:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2530:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5947:429;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5947:429:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12723:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12723:229:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4629:340;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4629:340:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6887:1566;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6887:1566:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11243:706;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11243:706:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13187:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13187:233:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9360:907;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9360:907:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3679:693;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3679:693:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8682:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8682:268:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12407:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12407:138:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2259:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2259:44:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14259:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14259:145:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10723:357;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10723:357:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2363:43:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13598:446;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13598:446:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2492:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2492:34:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2433:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2433:27:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2464:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2464:24:2;;;;;;;;;;;;;;;;;;;;;;;;;;;12111:136;12177:16;12208:8;:22;12217:12;12208:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;12201:41;;12111:136;;;:::o;5228:466::-;5297:23;5323:8;:22;5332:12;5323:22;;;;;;;;;;;;;;;;;5297:48;;5377:10;5360:27;;:7;:13;;;;;;;;;;;;:27;;;5352:36;;;;;;;;5413:7;:23;;;5402:7;:34;;5394:43;;;;;;;;5488:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5488:31:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5488:31:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5488:31:2;;;;;;;;;;;;;;;;5477:7;5451;:23;;;:33;:68;;5443:77;;;;;;;;5554:7;5527;:23;;;:34;;;;;;;;;;;5575:5;;;;;;;;;;;:14;;;5590:10;5602:7;5575:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5575:35:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5575:35:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5575:35:2;;;;;;;;;;;;;;;;5567:44;;;;;;;;5678:10;5618:71;;5630:12;5618:71;;;;5644:7;5653;:23;;;5618:71;;;;;;;;;;;;;;;;;;;;;;;;5228:466;;;:::o;2530:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5947:429::-;5998:23;6024:8;:22;6033:12;6024:22;;;;;;;;;;;;;;;;;5998:48;;6075:7;:13;;;;;;;;;;;;6061:27;;:10;:27;;;6053:36;;;;;;;;6103:27;6117:12;6103:13;:27::i;:::-;6095:36;;;;;;;;6213:1;6190:7;:19;;;:24;:68;;;;6218:10;:31;6229:7;:19;;;6218:31;;;;;;;;;;;:40;;;;;;;;;;;;6190:68;6182:77;;;;;;;;6308:26;6321:12;6308;:26::i;:::-;6358:12;6340:31;;;;;;;;;;;;;5947:429;;:::o;12723:229::-;12791:4;12803:16;12822:8;:22;12831:12;12822:22;;;;;;;;;;;;;;;;;:34;;;12803:53;;12908:1;12871:8;:22;12880:12;12871:22;;;;;;;;;;;;;;;;;:34;;;:38;:75;;;;;12914:10;:23;12925:11;12914:23;;;;;;;;;;;:32;;;;;;;;;;;;12913:33;12871:75;12863:84;;12723:229;;;;:::o;4629:340::-;4697:23;4723:8;:22;4732:12;4723:22;;;;;;;;;;;;;;;;;4697:48;;4777:10;4760:27;;:7;:13;;;;;;;;;;;;:27;;;4752:36;;;;;;;;4822:7;4795;:23;;;:34;;;;;;;;;;;4843:5;;;;;;;;;;;:18;;;4862:10;4874:4;4880:7;4843:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4843:45:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4843:45:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4843:45:2;;;;;;;;;;;;;;;;4835:54;;;;;;;;4953:10;4896:68;;4905:12;4896:68;;;;4919:7;4928;:23;;;4896:68;;;;;;;;;;;;;;;;;;;;;;;;4629:340;;;:::o;6887:1566::-;6960:16;6984:23;7038:12;7551:11;8233:18;8257;7010:8;:22;7019:12;7010:22;;;;;;;;;;;;;;;;;6984:48;;7053:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7053:31:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7053:31:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7053:31:2;;;;;;;;;;;;;;;;7038:46;;7165:24;7176:12;7165:10;:24::i;:::-;:47;;;;7193:7;:19;;;;;;;;;;;;7165:47;7157:56;;;;;;;;7285:1;7262:7;:19;;;:24;:68;;;;7290:10;:31;7301:7;:19;;;7290:31;;;;;;;;;;;:40;;;;;;;;;;;;7262:68;7254:77;;;;;;;;7368:7;7342;:23;;;:33;7338:188;;;7439:26;7452:12;7439;:26::i;:::-;7490:12;7473:30;;;;;;;;;;;;;7518:1;7511:8;;;;7338:188;7565:6;;;;;;;;;;;:16;;;7591:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7591:31:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7591:31:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7591:31:2;;;;;;;;;;;;;;;;7632:13;;;;;;;;;;;:17;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7632:35:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7632:35:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7632:35:2;;;;;;;;;;;;;;;;7677:13;;;;;;;;;;;:17;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7677:35:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7677:35:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7677:35:2;;;;;;;;;;;;;;;;7565:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7565:153:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7565:153:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7565:153:2;;;;;;;;;;;;;;;;7551:167;;7746:196;;;;;;;;;7865:3;7854:7;7814:13;;;;;;;;;;;:17;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7814:36:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7814:36:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7814:36:2;;;;;;;;;;;;;;;;7808:3;:42;7807:54;7806:62;;;;;;;;7746:196;;;;7776:10;7746:196;;;;;;7908:5;7746:196;;;;;;7883:7;7746:196;;;;7934:1;7746:196;;;7725:10;:18;7736:6;7725:18;;;;;;;;;;;:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8029:6;8007:7;:19;;:28;;;;8122:7;8095;:23;;;:34;;;;;;;;;;;8180:5;;;;;;;;;;;:18;;;8199:10;8211:4;8217:7;8180:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8180:45:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8180:45:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8180:45:2;;;;;;;;;;;;;;;;8172:54;;;;;;;;8315:6;;;;;;;;;;;:14;;;8330:6;8315:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8315:22:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8315:22:2;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8315:22:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8281:56;;;;;;;;;;;;;;8418:10;8348:81;;8359:12;8348:81;;;;8373:6;8381:5;;8388:13;8403;8348:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8442:6;8435:13;;6887:1566;;;;;;;;;;;:::o;11243:706::-;11312:4;11324:16;11343:8;:22;11352:12;11343:22;;;;;;;;;;;;;;;;;:34;;;11324:53;;11639:24;11650:12;11639:10;:24::i;:::-;:117;;;;;11753:3;11710:8;:22;11719:12;11710:22;;;;;;;;;;;;;;;;;:40;;;:46;11639:117;:192;;;;;11804:27;11818:12;11804:13;:27::i;:::-;11803:28;11639:192;:264;;;;;11857:1;11842:11;:16;:60;;;;11898:4;11862:40;;:10;:23;11873:11;11862:23;;;;;;;;;;;:32;;;;;;;;;;;;:40;;;11842:60;11639:264;11591:335;;;11919:4;11912:11;;;;11591:335;11939:5;11932:12;;11243:706;;;;;:::o;13187:233::-;13262:4;13274:16;13293:8;:22;13302:12;13293:22;;;;;;;;;;;;;;;;;:34;;;13274:53;;13342:29;13358:12;13342:15;:29::i;:::-;13334:38;;;;;;;;13386:6;;;;;;;;;;;:16;;;13403:11;13386:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13386:29:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13386:29:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13386:29:2;;;;;;;;;;;;;;;;13379:36;;13187:233;;;;:::o;9360:907::-;9652:16;9736:11;9583:5;9531:57;;:10;:24;9542:12;9531:24;;;;;;;;;;;:36;;:48;9568:10;9531:48;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;9523:66;;;;;;;;9640:4;9603:41;;:10;:24;9614:12;9603:24;;;;;;;;;;;:33;;;;;;;;;;;;:41;;;9595:50;;;;;;;;9671:6;;;;;;;;;;;:26;;;9698:10;9710:12;9724:5;9671:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9671:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9671:59:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9671:59:2;;;;;;;;;;;;;;;;9652:78;;9750:44;9762:10;9774:12;9788:5;9750:11;:44::i;:::-;9736:58;;9984:11;9944:10;:24;9955:12;9944:24;;;;;;;;;;;:36;;;:51;;;;;;;;;;;10040:6;10001:10;:24;10012:12;10001:24;;;;;;;;;;;:35;;;:45;;;;;;;;;;;10153:4;10102:10;:24;10113:12;10102:24;;;;;;;;;;;:36;;:48;10139:10;10102:48;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;10172:5;;;;;;;;;;;:14;;;10187:10;10199:6;10172:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10172:34:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10172:34:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10172:34:2;;;;;;;;;;;;;;;;10164:43;;;;;;;;10251:10;10214:48;;10229:12;10214:48;10243:6;10214:48;;;;;;;;;;;;;;;;;;9360:907;;;;:::o;3679:693::-;3918:23;3768:27;3782:12;3768:13;:27::i;:::-;3767:28;3759:37;;;;;;;;3811:24;3822:12;3811:10;:24::i;:::-;3810:25;3802:34;;;;;;;;3861:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3861:31:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3861:31:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3861:31:2;;;;;;;;;;;;;;;;3850:7;:42;;3842:51;;;;;;;;3944:8;:22;3953:12;3944:22;;;;;;;;;;;;;;;;;3918:48;;3988:10;3972:7;:13;;;:26;;;;;;;;;;;;;;;;;;4066:55;4086:13;;;;;;;;;;;:17;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4086:34:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4086:34:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4086:34:2;;;;;;;;;;;;;;;;4066:15;:19;;:55;;;;:::i;:::-;4038:7;:25;;:83;;;;4153:7;4127;:23;;:33;;;;4230:5;;;;;;;;;;;:18;;;4249:7;:13;;;;;;;;;;;;4264:4;4270:7;4230:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4230:48:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4230:48:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4230:48:2;;;;;;;;;;;;;;;;4222:57;;;;;;;;4356:10;4286:81;;4299:12;4286:81;;;;4313:7;4322;:25;;;4349:5;;4286:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3679:693;;;;;:::o;8682:268::-;8743:30;8760:12;8743:16;:30::i;:::-;8739:207;;;8783:34;8804:12;8783:20;:34::i;:::-;8739:207;;;8834:36;8857:12;8834:22;:36::i;:::-;8830:116;;;8880:30;8897:12;8880:16;:30::i;:::-;8830:116;;;8931:8;;;8830:116;8739:207;8682:268;:::o;12407:138::-;12470:11;12539:1;12496:8;:22;12505:12;12496:22;;;;;;;;;;;;;;;;;:40;;;:44;12489:51;;12407:138;;;:::o;2259:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14259:145::-;14336:4;14355:10;:24;14366:12;14355:24;;;;;;;;;;;:36;;:44;14392:6;14355:44;;;;;;;;;;;;;;;;;;;;;;;;;14348:51;;14259:145;;;;:::o;10723:357::-;10814:4;10828:16;10889:15;10948:16;10847:10;:24;10858:12;10847:24;;;;;;;;;;;:36;;;10828:55;;10907:10;:24;10918:12;10907:24;;;;;;;;;;;:35;;;10889:53;;10967:6;;;;;;;;;;;:26;;;10994:6;11002:12;11016:5;10967:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10967:55:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10967:55:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10967:55:2;;;;;;;;;;;;;;;;10948:74;;11064:11;11050:10;11036:11;:24;11035:40;;;;;;;;11028:47;;10723:357;;;;;;;;:::o;2363:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13598:446::-;13663:4;13684:10;:24;13695:12;13684:24;;;;;;;;;;;:33;;;;;;;;;;;;13683:34;:68;;;;;13721:6;;;;;;;;;;;:16;;;13738:12;13721:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13721:30:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13721:30:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13721:30:2;;;;;;;;;;;;;;;;13683:68;13675:77;;;;;;;;13893:1;13830:6;;;;;;;;;;;:45;;;13876:12;13830:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13830:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13830:59:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13830:59:2;;;;;;;;;;;;;;;;:64;13826:126;;;13915:10;:24;13926:12;13915:24;;;;;;;;;;;:30;;;13911:1;:34;13904:41;;;;13826:126;14004:10;:24;14015:12;14004:24;;;;;;;;;;;:35;;;13970:10;:24;13981:12;13970:24;;;;;;;;;;;:30;;;13966:1;:34;13965:74;13958:81;;13598:446;;;;:::o;2492:34::-;;;;;;;;;;;;;:::o;2433:27::-;;;;;;;;;;;;;:::o;2464:24::-;;;;;;;;;;;;;:::o;16698:631::-;16756:23;17058:13;17093:20;16782:8;:22;16791:12;16782:22;;;;;;;;;;;;;;;;;16756:48;;16890:7;:19;;;;;;;;;;;;16886:123;;;16935:12;16919:29;;;;;;;;;;;;;16886:123;;;16989:12;16969:33;;;;;;;;;;;;;16886:123;17074:7;:13;;;;;;;;;;;;17058:29;;17116:7;:23;;;17093:46;;17152:8;:22;17161:12;17152:22;;;;;;;;;;;;;;;;;;17145:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17260:1;17242:15;:19;17238:87;;;17279:5;;;;;;;;;;;:14;;;17294:5;17301:15;17279:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17279:38:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17279:38:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17279:38:2;;;;;;;;;;;;;;;;17271:47;;;;;;;;17238:87;16698:631;;;;:::o;680:133:8:-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o;16336:200:2:-;16407:8;:22;16416:12;16407:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;16406:35;16402:83;;;16469:12;16445:37;;;;;;;;;;;;;16402:83;16527:4;16490:8;:22;16499:12;16490:22;;;;;;;;;;;;;;;;;:34;;;:41;;;;;;;;;;;;;;;;;;16336:200;:::o;14728:1274::-;14790:16;14964:11;14809:8;:22;14818:12;14809:22;;;;;;;;;;;;;;;;;:34;;;14790:53;;14978:28;14994:11;14978:15;:28::i;:::-;14964:42;;15094:4;15059:10;:23;15070:11;15059:23;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;15230:6;;;;;;;;;;;:45;;;15276:11;15230:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15230:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15230:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15230:58:2;;;;;;;;;;;;;;;;15192:10;:23;15203:11;15192:23;;;;;;;;;;;:35;;:96;;;;15329:6;;;;;;;;;;;:15;;;15345:11;15329:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15329:28:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15329:28:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15329:28:2;;;;;;;;;;;;;;;;15325:673;;;15367:34;15388:12;15367:20;:34::i;:::-;15518:6;15476:8;:22;15485:12;15476:22;;;;;;;;;;;;;;;;;:38;;;:48;;;;;;;;;;;15564:11;15550:12;15533:116;;;;15577:10;:23;15588:11;15577:23;;;;;;;;;;;:34;;;15613:10;:23;15624:11;15613:23;;;;;;;;;;;:35;;;15533:116;;;;;;;;;;;;;;;;;;;;;;;;15325:673;;;15715:26;15728:12;15715;:26::i;:::-;15804:5;;;;;;;;;;;:14;;;15819:10;:23;15830:11;15819:23;;;;;;;;;;;:34;;;;;;;;;;;;15855:6;15804:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15804:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15804:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15804:58:2;;;;;;;;;;;;;;;;15796:67;;;;;;;;15906:11;15892:12;15872:119;;;;15919:10;:23;15930:11;15919:23;;;;;;;;;;;:34;;;15955:10;:23;15966:11;15955:23;;;;;;;;;;;:35;;;15872:119;;;;;;;;;;;;;;;;;;;;;;;;15325:673;14728:1274;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"tokens/eip20/EIP20Interface.sol\";\nimport \"./Parameterizer.sol\";\nimport \"plcrvoting/PLCRVoting.sol\";\nimport \"zeppelin/math/SafeMath.sol\";\n\ncontract Registry {\n\n // ------\n // EVENTS\n // ------\n\n event _Application(bytes32 indexed listingHash, uint deposit, uint appEndDate, string data, address indexed applicant);\n event _Challenge(bytes32 indexed listingHash, uint challengeID, string data, uint commitEndDate, uint revealEndDate, address indexed challenger);\n event _Deposit(bytes32 indexed listingHash, uint added, uint newTotal, address indexed owner);\n event _Withdrawal(bytes32 indexed listingHash, uint withdrew, uint newTotal, address indexed owner);\n event _ApplicationWhitelisted(bytes32 indexed listingHash);\n event _ApplicationRemoved(bytes32 indexed listingHash);\n event _ListingRemoved(bytes32 indexed listingHash);\n event _ListingWithdrawn(bytes32 indexed listingHash);\n event _TouchAndRemoved(bytes32 indexed listingHash);\n event _ChallengeFailed(bytes32 indexed listingHash, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _ChallengeSucceeded(bytes32 indexed listingHash, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _RewardClaimed(uint indexed challengeID, uint reward, address indexed voter);\n\n using SafeMath for uint;\n\n struct Listing {\n uint applicationExpiry; // Expiration date of apply stage\n bool whitelisted; // Indicates registry status\n address owner; // Owner of Listing\n uint unstakedDeposit; // Number of tokens in the listing not locked in a challenge\n uint challengeID; // Corresponds to a PollID in PLCRVoting\n }\n\n struct Challenge {\n uint rewardPool; // (remaining) Pool of tokens to be distributed to winning voters\n address challenger; // Owner of Challenge\n bool resolved; // Indication of if challenge is resolved\n uint stake; // Number of tokens at stake for either party during challenge\n uint totalTokens; // (remaining) Number of tokens used in voting by the winning side\n mapping(address => bool) tokenClaims; // Indicates whether a voter has claimed a reward yet\n }\n\n // Maps challengeIDs to associated challenge data\n mapping(uint => Challenge) public challenges;\n\n // Maps listingHashes to associated listingHash data\n mapping(bytes32 => Listing) public listings;\n\n // Global Variables\n EIP20Interface public token;\n PLCRVoting public voting;\n Parameterizer public parameterizer;\n string public name;\n\n // ------------\n // CONSTRUCTOR:\n // ------------\n\n /**\n @dev Contructor Sets the addresses for token, voting, and parameterizer\n @param _tokenAddr Address of the TCR's intrinsic ERC20 token\n @param _plcrAddr Address of a PLCR voting contract for the provided token\n @param _paramsAddr Address of a Parameterizer contract\n */\n function Registry(\n address _tokenAddr,\n address _plcrAddr,\n address _paramsAddr,\n string _name\n ) public\n {\n token = EIP20Interface(_tokenAddr);\n voting = PLCRVoting(_plcrAddr);\n parameterizer = Parameterizer(_paramsAddr);\n name = _name;\n }\n\n // --------------------\n // PUBLISHER INTERFACE:\n // --------------------\n\n /**\n @dev Allows a user to start an application. Takes tokens from user and sets\n apply stage end time.\n @param _listingHash The hash of a potential listing a user is applying to add to the registry\n @param _amount The number of ERC20 tokens a user is willing to potentially stake\n @param _data Extra data relevant to the application. Think IPFS hashes.\n */\n function apply(bytes32 _listingHash, uint _amount, string _data) external {\n require(!isWhitelisted(_listingHash));\n require(!appWasMade(_listingHash));\n require(_amount >= parameterizer.get(\"minDeposit\"));\n\n // Sets owner\n Listing storage listing = listings[_listingHash];\n listing.owner = msg.sender;\n\n // Sets apply stage end time\n listing.applicationExpiry = block.timestamp.add(parameterizer.get(\"applyStageLen\"));\n listing.unstakedDeposit = _amount;\n\n // Transfers tokens from user to Registry contract\n require(token.transferFrom(listing.owner, this, _amount));\n\n _Application(_listingHash, _amount, listing.applicationExpiry, _data, msg.sender);\n }\n\n /**\n @dev Allows the owner of a listingHash to increase their unstaked deposit.\n @param _listingHash A listingHash msg.sender is the owner of\n @param _amount The number of ERC20 tokens to increase a user's unstaked deposit\n */\n function deposit(bytes32 _listingHash, uint _amount) external {\n Listing storage listing = listings[_listingHash];\n\n require(listing.owner == msg.sender);\n\n listing.unstakedDeposit += _amount;\n require(token.transferFrom(msg.sender, this, _amount));\n\n _Deposit(_listingHash, _amount, listing.unstakedDeposit, msg.sender);\n }\n\n /**\n @dev Allows the owner of a listingHash to decrease their unstaked deposit.\n @param _listingHash A listingHash msg.sender is the owner of.\n @param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.\n */\n function withdraw(bytes32 _listingHash, uint _amount) external {\n Listing storage listing = listings[_listingHash];\n\n require(listing.owner == msg.sender);\n require(_amount <= listing.unstakedDeposit);\n require(listing.unstakedDeposit - _amount >= parameterizer.get(\"minDeposit\"));\n\n listing.unstakedDeposit -= _amount;\n require(token.transfer(msg.sender, _amount));\n\n _Withdrawal(_listingHash, _amount, listing.unstakedDeposit, msg.sender);\n }\n\n /**\n @dev Allows the owner of a listingHash to remove the listingHash from the whitelist\n Returns all tokens to the owner of the listingHash\n @param _listingHash A listingHash msg.sender is the owner of.\n */\n function exit(bytes32 _listingHash) external {\n Listing storage listing = listings[_listingHash];\n\n require(msg.sender == listing.owner);\n require(isWhitelisted(_listingHash));\n\n // Cannot exit during ongoing challenge\n require(listing.challengeID == 0 || challenges[listing.challengeID].resolved);\n\n // Remove listingHash & return tokens\n resetListing(_listingHash);\n _ListingWithdrawn(_listingHash);\n }\n\n // -----------------------\n // TOKEN HOLDER INTERFACE:\n // -----------------------\n\n /**\n @dev Starts a poll for a listingHash which is either in the apply stage or\n already in the whitelist. Tokens are taken from the challenger and the\n applicant's deposits are locked.\n @param _listingHash The listingHash being challenged, whether listed or in application\n @param _data Extra data relevant to the challenge. Think IPFS hashes.\n */\n function challenge(bytes32 _listingHash, string _data) external returns (uint challengeID) {\n Listing storage listing = listings[_listingHash];\n uint deposit = parameterizer.get(\"minDeposit\");\n\n // Listing must be in apply stage or already on the whitelist\n require(appWasMade(_listingHash) || listing.whitelisted);\n // Prevent multiple challenges\n require(listing.challengeID == 0 || challenges[listing.challengeID].resolved);\n\n if (listing.unstakedDeposit < deposit) {\n // Not enough tokens, listingHash auto-delisted\n resetListing(_listingHash);\n _TouchAndRemoved(_listingHash);\n return 0;\n }\n\n // Starts poll\n uint pollID = voting.startPoll(\n parameterizer.get(\"voteQuorum\"),\n parameterizer.get(\"commitStageLen\"),\n parameterizer.get(\"revealStageLen\")\n );\n\n challenges[pollID] = Challenge({\n challenger: msg.sender,\n rewardPool: ((100 - parameterizer.get(\"dispensationPct\")) * deposit) / 100,\n stake: deposit,\n resolved: false,\n totalTokens: 0\n });\n\n // Updates listingHash to store most recent challenge\n listing.challengeID = pollID;\n\n // Locks tokens for listingHash during challenge\n listing.unstakedDeposit -= deposit;\n\n // Takes tokens from challenger\n require(token.transferFrom(msg.sender, this, deposit));\n\n uint commitEndDate;\n uint revealEndDate;\n (commitEndDate, revealEndDate,) = voting.pollMap(pollID);\n \n _Challenge(_listingHash, pollID, _data, commitEndDate, revealEndDate, msg.sender);\n return pollID;\n }\n\n /**\n @dev Updates a listingHash's status from 'application' to 'listing' or resolves\n a challenge if one exists.\n @param _listingHash The listingHash whose status is being updated\n */\n function updateStatus(bytes32 _listingHash) public {\n if (canBeWhitelisted(_listingHash)) {\n whitelistApplication(_listingHash);\n } else if (challengeCanBeResolved(_listingHash)) {\n resolveChallenge(_listingHash);\n } else {\n revert();\n }\n }\n\n // ----------------\n // TOKEN FUNCTIONS:\n // ----------------\n\n /**\n @dev Called by a voter to claim their reward for each completed vote. Someone\n must call updateStatus() before this can be called.\n @param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n @param _salt The salt of a voter's commit hash in the given poll\n */\n function claimReward(uint _challengeID, uint _salt) public {\n // Ensures the voter has not already claimed tokens and challenge results have been processed\n require(challenges[_challengeID].tokenClaims[msg.sender] == false);\n require(challenges[_challengeID].resolved == true);\n\n uint voterTokens = voting.getNumPassingTokens(msg.sender, _challengeID, _salt);\n uint reward = voterReward(msg.sender, _challengeID, _salt);\n\n // Subtracts the voter's information to preserve the participation ratios\n // of other voters compared to the remaining pool of rewards\n challenges[_challengeID].totalTokens -= voterTokens;\n challenges[_challengeID].rewardPool -= reward;\n\n // Ensures a voter cannot claim tokens again\n challenges[_challengeID].tokenClaims[msg.sender] = true;\n\n require(token.transfer(msg.sender, reward));\n\n _RewardClaimed(_challengeID, reward, msg.sender);\n }\n\n // --------\n // GETTERS:\n // --------\n\n /**\n @dev Calculates the provided voter's token reward for the given poll.\n @param _voter The address of the voter whose reward balance is to be returned\n @param _challengeID The pollID of the challenge a reward balance is being queried for\n @param _salt The salt of the voter's commit hash in the given poll\n @return The uint indicating the voter's reward\n */\n function voterReward(address _voter, uint _challengeID, uint _salt)\n public view returns (uint)\n {\n uint totalTokens = challenges[_challengeID].totalTokens;\n uint rewardPool = challenges[_challengeID].rewardPool;\n uint voterTokens = voting.getNumPassingTokens(_voter, _challengeID, _salt);\n return (voterTokens * rewardPool) / totalTokens;\n }\n\n /**\n @dev Determines whether the given listingHash be whitelisted.\n @param _listingHash The listingHash whose status is to be examined\n */\n function canBeWhitelisted(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n // Ensures that the application was made,\n // the application period has ended,\n // the listingHash can be whitelisted,\n // and either: the challengeID == 0, or the challenge has been resolved.\n if (\n /* solium-disable-next-line */\n appWasMade(_listingHash) &&\n /* solium-disable-next-line */\n listings[_listingHash].applicationExpiry < now &&\n /* solium-disable-next-line */\n !isWhitelisted(_listingHash) &&\n (challengeID == 0 || challenges[challengeID].resolved == true)\n ) { return true; }\n\n return false;\n }\n\n /**\n @dev Returns true if the provided listingHash is whitelisted\n @param _listingHash The listingHash whose status is to be examined\n */\n function isWhitelisted(bytes32 _listingHash) view public returns (bool whitelisted) {\n return listings[_listingHash].whitelisted;\n }\n\n /**\n @dev Returns true if apply was called for this listingHash\n @param _listingHash The listingHash whose status is to be examined\n */\n function appWasMade(bytes32 _listingHash) view public returns (bool exists) {\n return listings[_listingHash].applicationExpiry > 0;\n }\n\n /**\n @dev Returns true if the application/listingHash has an unresolved challenge\n @param _listingHash The listingHash whose status is to be examined\n */\n function challengeExists(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n return (listings[_listingHash].challengeID > 0 && !challenges[challengeID].resolved);\n }\n\n /**\n @dev Determines whether voting has concluded in a challenge for a given\n listingHash. Throws if no challenge exists.\n @param _listingHash A listingHash with an unresolved challenge\n */\n function challengeCanBeResolved(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n require(challengeExists(_listingHash));\n\n return voting.pollEnded(challengeID);\n }\n\n /**\n @dev Determines the number of tokens awarded to the winning party in a challenge.\n @param _challengeID The challengeID to determine a reward for\n */\n function determineReward(uint _challengeID) public view returns (uint) {\n require(!challenges[_challengeID].resolved && voting.pollEnded(_challengeID));\n\n // Edge case, nobody voted, give all tokens to the challenger.\n if (voting.getTotalNumberOfTokensForWinningOption(_challengeID) == 0) {\n return 2 * challenges[_challengeID].stake;\n }\n\n return (2 * challenges[_challengeID].stake) - challenges[_challengeID].rewardPool;\n }\n\n /**\n @dev Getter for Challenge tokenClaims mappings\n @param _challengeID The challengeID to query\n @param _voter The voter whose claim status to query for the provided challengeID\n */\n function tokenClaims(uint _challengeID, address _voter) public view returns (bool) {\n return challenges[_challengeID].tokenClaims[_voter];\n }\n\n // ----------------\n // PRIVATE FUNCTIONS:\n // ----------------\n\n /**\n @dev Determines the winner in a challenge. Rewards the winner tokens and\n either whitelists or de-whitelists the listingHash.\n @param _listingHash A listingHash with a challenge that is to be resolved\n */\n function resolveChallenge(bytes32 _listingHash) private {\n uint challengeID = listings[_listingHash].challengeID;\n\n // Calculates the winner's reward,\n // which is: (winner's full stake) + (dispensationPct * loser's stake)\n uint reward = determineReward(challengeID);\n\n // Sets flag on challenge being processed\n challenges[challengeID].resolved = true;\n\n // Stores the total tokens used for voting by the winning side for reward purposes\n challenges[challengeID].totalTokens = voting.getTotalNumberOfTokensForWinningOption(challengeID);\n\n // Case: challenge failed\n if (voting.isPassed(challengeID)) {\n whitelistApplication(_listingHash);\n // Unlock stake so that it can be retrieved by the applicant\n listings[_listingHash].unstakedDeposit += reward;\n\n _ChallengeFailed(_listingHash, challengeID, challenges[challengeID].rewardPool, challenges[challengeID].totalTokens);\n } else { // Case: challenge succeeded or nobody voted\n resetListing(_listingHash);\n // Transfer the reward to the challenger\n require(token.transfer(challenges[challengeID].challenger, reward));\n\n _ChallengeSucceeded(_listingHash, challengeID, challenges[challengeID].rewardPool, challenges[challengeID].totalTokens);\n }\n }\n\n /**\n @dev Called by updateStatus() if the applicationExpiry date passed without a\n challenge being made. Called by resolveChallenge() if an\n application/listing beat a challenge.\n @param _listingHash The listingHash of an application/listingHash to be whitelisted\n */\n function whitelistApplication(bytes32 _listingHash) private {\n if (!listings[_listingHash].whitelisted) { _ApplicationWhitelisted(_listingHash); }\n listings[_listingHash].whitelisted = true;\n }\n\n /**\n @dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n @param _listingHash The listing hash to delete\n */\n function resetListing(bytes32 _listingHash) private {\n Listing storage listing = listings[_listingHash];\n\n // Emit events before deleting listing to check whether is whitelisted\n if (listing.whitelisted) {\n _ListingRemoved(_listingHash);\n } else {\n _ApplicationRemoved(_listingHash);\n }\n\n // Deleting listing to prevent reentry\n address owner = listing.owner;\n uint unstakedDeposit = listing.unstakedDeposit;\n delete listings[_listingHash];\n\n // Transfers any remaining balance back to the owner\n if (unstakedDeposit > 0) {\n require(token.transfer(owner, unstakedDeposit));\n }\n }\n}\n", - "sourcePath": "/home/rbharath/computable/contracts/Registry.sol", - "ast": { - "absolutePath": "/home/rbharath/computable/contracts/Registry.sol", - "exportedSymbols": { - "Registry": [ - 2106 - ] - }, - "id": 2107, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1005, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:2" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "tokens/eip20/EIP20Interface.sol", - "id": 1006, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 3783, - "src": "25:41:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/rbharath/computable/contracts/Parameterizer.sol", - "file": "./Parameterizer.sol", - "id": 1007, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 1004, - "src": "67:29:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "plcrvoting/PLCRVoting.sol", - "file": "plcrvoting/PLCRVoting.sol", - "id": 1008, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 3489, - "src": "97:35:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "zeppelin/math/SafeMath.sol", - "file": "zeppelin/math/SafeMath.sol", - "id": 1009, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 3878, - "src": "133:36:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2106, - "linearizedBaseContracts": [ - 2106 - ], - "name": "Registry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 1021, - "name": "_Application", - "nodeType": "EventDefinition", - "parameters": { - "id": 1020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1011, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "250:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1010, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "250:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1013, - "indexed": false, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "279:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1012, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "279:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1015, - "indexed": false, - "name": "appEndDate", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "293:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1014, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "293:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1017, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "310:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1016, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "310:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1019, - "indexed": true, - "name": "applicant", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "323:25:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "323:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "249:100:2" - }, - "src": "231:119:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1035, - "name": "_Challenge", - "nodeType": "EventDefinition", - "parameters": { - "id": 1034, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1023, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "370:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1022, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "370:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1025, - "indexed": false, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "399:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1024, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "399:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1027, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "417:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1026, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "417:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1029, - "indexed": false, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "430:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1028, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "430:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1031, - "indexed": false, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "450:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1030, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "450:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1033, - "indexed": true, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "470:26:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "470:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "369:128:2" - }, - "src": "353:145:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1045, - "name": "_Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 1044, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1037, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "516:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1036, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "516:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1039, - "indexed": false, - "name": "added", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "545:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1038, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "545:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1041, - "indexed": false, - "name": "newTotal", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "557:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1040, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "557:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1043, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "572:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "515:79:2" - }, - "src": "501:94:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1055, - "name": "_Withdrawal", - "nodeType": "EventDefinition", - "parameters": { - "id": 1054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1047, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "616:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1046, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "616:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1049, - "indexed": false, - "name": "withdrew", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "645:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1048, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "645:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1051, - "indexed": false, - "name": "newTotal", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "660:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1050, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "660:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1053, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "675:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1052, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "615:82:2" - }, - "src": "598:100:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1059, - "name": "_ApplicationWhitelisted", - "nodeType": "EventDefinition", - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "731:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1056, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "731:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "730:29:2" - }, - "src": "701:59:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1063, - "name": "_ApplicationRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 1062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1061, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1063, - "src": "789:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1060, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "789:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "788:29:2" - }, - "src": "763:55:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1067, - "name": "_ListingRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 1066, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1065, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "843:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1064, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "843:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "842:29:2" - }, - "src": "821:51:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1071, - "name": "_ListingWithdrawn", - "nodeType": "EventDefinition", - "parameters": { - "id": 1070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1069, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1071, - "src": "899:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1068, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "899:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "898:29:2" - }, - "src": "875:53:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1075, - "name": "_TouchAndRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 1074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1073, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1075, - "src": "954:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1072, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "954:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:29:2" - }, - "src": "931:52:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1085, - "name": "_ChallengeFailed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1084, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1077, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1009:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1076, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1009:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1079, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1038:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1078, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1038:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1081, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1064:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1080, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1064:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1083, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1081:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1082, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1081:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1008:90:2" - }, - "src": "986:113:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1095, - "name": "_ChallengeSucceeded", - "nodeType": "EventDefinition", - "parameters": { - "id": 1094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1087, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1128:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1086, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1128:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1089, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1157:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1088, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1157:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1091, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1183:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1090, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1183:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1093, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1200:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1092, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1200:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1127:90:2" - }, - "src": "1102:116:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1103, - "name": "_RewardClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1097, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "1242:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1242:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1099, - "indexed": false, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "1268:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1268:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1101, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "1281:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1281:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1241:62:2" - }, - "src": "1221:83:2" - }, - { - "id": 1106, - "libraryName": { - "contractScope": null, - "id": 1104, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3877, - "src": "1314:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3877", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:24:2", - "typeName": { - "id": 1105, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1327:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "Registry.Listing", - "id": 1117, - "members": [ - { - "constant": false, - "id": 1108, - "name": "applicationExpiry", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1357:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1107, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1357:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1110, - "name": "whitelisted", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1419:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1109, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1419:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1112, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1476:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1476:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1114, - "name": "unstakedDeposit", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1524:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1113, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1524:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1613:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1115, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1613:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Listing", - "nodeType": "StructDefinition", - "scope": 2106, - "src": "1336:345:2", - "visibility": "public" - }, - { - "canonicalName": "Registry.Challenge", - "id": 1132, - "members": [ - { - "constant": false, - "id": 1119, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1708:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1118, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1708:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1121, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1802:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1120, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1802:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1123, - "name": "resolved", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1852:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1122, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1125, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1922:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1124, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1922:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1127, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "2013:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1126, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2013:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1131, - "name": "tokenClaims", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "2108:36:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1130, - "keyType": { - "id": 1128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2116:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2108:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1129, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2127:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Challenge", - "nodeType": "StructDefinition", - "scope": 2106, - "src": "1685:518:2", - "visibility": "public" - }, - { - "constant": false, - "id": 1136, - "name": "challenges", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2259:44:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge)" - }, - "typeName": { - "id": 1135, - "keyType": { - "id": 1133, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2267:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2259:26:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge)" - }, - "valueType": { - "contractScope": null, - "id": 1134, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1132, - "src": "2275:9:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage_ptr", - "typeString": "struct Registry.Challenge" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1140, - "name": "listings", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2363:43:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing)" - }, - "typeName": { - "id": 1139, - "keyType": { - "id": 1137, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2371:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2363:27:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing)" - }, - "valueType": { - "contractScope": null, - "id": 1138, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "2382:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1142, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2433:27:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - }, - "typeName": { - "contractScope": null, - "id": 1141, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "2433:14:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1144, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2464:24:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - }, - "typeName": { - "contractScope": null, - "id": 1143, - "name": "PLCRVoting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3488, - "src": "2464:10:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1146, - "name": "parameterizer", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2492:34:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - }, - "typeName": { - "contractScope": null, - "id": 1145, - "name": "Parameterizer", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1003, - "src": "2492:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1148, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2530:18:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 1147, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2530:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 1181, - "nodeType": "Block", - "src": "3036:147:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1159, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "3042:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1161, - "name": "_tokenAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "3065:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1160, - "name": "EIP20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "3050:14:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EIP20Interface_$3782_$", - "typeString": "type(contract EIP20Interface)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3050:26:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "src": "3042:34:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1164, - "nodeType": "ExpressionStatement", - "src": "3042:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1165, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "3082:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1167, - "name": "_plcrAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1152, - "src": "3102:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1166, - "name": "PLCRVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3488, - "src": "3091:10:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$3488_$", - "typeString": "type(contract PLCRVoting)" - } - }, - "id": 1168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3091:21:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "src": "3082:30:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1170, - "nodeType": "ExpressionStatement", - "src": "3082:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1171, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3118:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1173, - "name": "_paramsAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3148:11:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1172, - "name": "Parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1003, - "src": "3134:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Parameterizer_$1003_$", - "typeString": "type(contract Parameterizer)" - } - }, - "id": 1174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3134:26:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "src": "3118:42:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1176, - "nodeType": "ExpressionStatement", - "src": "3118:42:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1177, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3166:4:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1178, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1156, - "src": "3173:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3166:12:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1180, - "nodeType": "ExpressionStatement", - "src": "3166:12:2" - } - ] - }, - "documentation": "@dev Contructor Sets the addresses for token, voting, and parameterizer\n@param _tokenAddr Address of the TCR's intrinsic ERC20 token\n@param _plcrAddr Address of a PLCR voting contract for the provided token\n@param _paramsAddr Address of a Parameterizer contract", - "id": 1182, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Registry", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1150, - "name": "_tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "2938:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2938:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1152, - "name": "_plcrAddr", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "2962:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1154, - "name": "_paramsAddr", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "2985:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2985:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1156, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "3010:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1155, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3010:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2932:94:2" - }, - "payable": false, - "returnParameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [], - "src": "3036:0:2" - }, - "scope": 2106, - "src": "2915:268:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1266, - "nodeType": "Block", - "src": "3753:619:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3767:28:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1193, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "3782:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1192, - "name": "isWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "3768:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1191, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3759:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3759:37:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1197, - "nodeType": "ExpressionStatement", - "src": "3759:37:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3810:25:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1200, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "3822:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1199, - "name": "appWasMade", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "3811:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3811:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1198, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3802:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3802:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1204, - "nodeType": "ExpressionStatement", - "src": "3802:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1206, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "3850:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 1209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3879:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1207, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3861:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "3861:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3861:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3850:42:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1205, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3842:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3842:51:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1213, - "nodeType": "ExpressionStatement", - "src": "3842:51:2" - }, - { - "assignments": [ - 1215 - ], - "declarations": [ - { - "constant": false, - "id": 1215, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3918:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1214, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "3918:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1219, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1216, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "3944:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1218, - "indexExpression": { - "argumentTypes": null, - "id": 1217, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "3953:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3944:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3918:48:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1220, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "3972:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "3972:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3988:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3988:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3972:26:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1226, - "nodeType": "ExpressionStatement", - "src": "3972:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1227, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4038:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1229, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "4038:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6170706c7953746167654c656e", - "id": 1235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4104:15:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - }, - "value": "applyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1233, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "4086:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "4086:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4086:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1230, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "4066:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4066:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "4066:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 1237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4066:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4038:83:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1239, - "nodeType": "ExpressionStatement", - "src": "4038:83:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1240, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4127:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "4127:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1243, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "4153:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4127:33:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "4127:33:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1249, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4249:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "4249:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "4264:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - } - }, - { - "argumentTypes": null, - "id": 1252, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "4270:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1247, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "4230:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "4230:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4230:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4222:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4222:57:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1255, - "nodeType": "ExpressionStatement", - "src": "4222:57:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1257, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "4299:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1258, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "4313:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1259, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4322:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1260, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "4322:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1261, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1188, - "src": "4349:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4356:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4356:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1256, - "name": "_Application", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "4286:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,string memory,address)" - } - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4286:81:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1265, - "nodeType": "ExpressionStatement", - "src": "4286:81:2" - } - ] - }, - "documentation": "@dev Allows a user to start an application. Takes tokens from user and sets\napply stage end time.\n@param _listingHash The hash of a potential listing a user is applying to add to the registry\n@param _amount The number of ERC20 tokens a user is willing to potentially stake\n@param _data Extra data relevant to the application. Think IPFS hashes.", - "id": 1267, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "apply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1184, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3694:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1183, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3694:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1186, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3716:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1185, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3716:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1188, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3730:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1187, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3730:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3693:50:2" - }, - "payable": false, - "returnParameters": { - "id": 1190, - "nodeType": "ParameterList", - "parameters": [], - "src": "3753:0:2" - }, - "scope": 2106, - "src": "3679:693:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1313, - "nodeType": "Block", - "src": "4691:278:2", - "statements": [ - { - "assignments": [ - 1275 - ], - "declarations": [ - { - "constant": false, - "id": 1275, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1314, - "src": "4697:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1274, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "4697:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1279, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1276, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "4723:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1278, - "indexExpression": { - "argumentTypes": null, - "id": 1277, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1269, - "src": "4732:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4723:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4697:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1281, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "4760:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "4760:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1283, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4777:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4777:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4760:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1280, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4752:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4752:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1287, - "nodeType": "ExpressionStatement", - "src": "4752:36:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1288, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "4795:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1290, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "4795:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 1291, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1271, - "src": "4822:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4795:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "nodeType": "ExpressionStatement", - "src": "4795:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1297, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4862:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4862:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1299, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "4874:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - } - }, - { - "argumentTypes": null, - "id": 1300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1271, - "src": "4880:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1295, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "4843:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "4843:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1294, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4835:7:2", - "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": "4835:54:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1303, - "nodeType": "ExpressionStatement", - "src": "4835:54:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1305, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1269, - "src": "4905:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1306, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1271, - "src": "4919:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1307, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "4928:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1308, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "4928:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1309, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4953:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4953:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1304, - "name": "_Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "4896:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,address)" - } - }, - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4896:68:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1312, - "nodeType": "ExpressionStatement", - "src": "4896:68:2" - } - ] - }, - "documentation": "@dev Allows the owner of a listingHash to increase their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of\n@param _amount The number of ERC20 tokens to increase a user's unstaked deposit", - "id": 1314, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1269, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1314, - "src": "4646:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1268, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4646:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1271, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1314, - "src": "4668:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1270, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4668:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4645:36:2" - }, - "payable": false, - "returnParameters": { - "id": 1273, - "nodeType": "ParameterList", - "parameters": [], - "src": "4691:0:2" - }, - "scope": 2106, - "src": "4629:340:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1378, - "nodeType": "Block", - "src": "5291:403:2", - "statements": [ - { - "assignments": [ - 1322 - ], - "declarations": [ - { - "constant": false, - "id": 1322, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5297:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1321, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "5297:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1326, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1323, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "5323:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1325, - "indexExpression": { - "argumentTypes": null, - "id": 1324, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1316, - "src": "5332:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5323:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5297:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1328, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5360:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "5360:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1330, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5377:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5377:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5360:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5352:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5352:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1334, - "nodeType": "ExpressionStatement", - "src": "5352:36:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1336, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5402:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1337, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5413:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5413:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5402:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1335, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5394:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5394:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1341, - "nodeType": "ExpressionStatement", - "src": "5394:43:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1343, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5451:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5451:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1345, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5477:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5451:33:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 1349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5506:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1347, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "5488:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "5488:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5488:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5451:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5443:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5443:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1353, - "nodeType": "ExpressionStatement", - "src": "5443:77:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1354, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5527:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5527:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1357, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5554:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5527:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1359, - "nodeType": "ExpressionStatement", - "src": "5527:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1363, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5590:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5590:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1365, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5602:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1361, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "5575:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "5575:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5575:35:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1360, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5567:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5567:44:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "5567:44:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1370, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1316, - "src": "5630:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1371, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5644:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1372, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5653:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5653:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1374, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5678:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5678:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1369, - "name": "_Withdrawal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "5618:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,address)" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5618:71:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1377, - "nodeType": "ExpressionStatement", - "src": "5618:71:2" - } - ] - }, - "documentation": "@dev Allows the owner of a listingHash to decrease their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of.\n@param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.", - "id": 1379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1316, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5246:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1315, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5246:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1318, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5268:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1317, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5268:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5245:36:2" - }, - "payable": false, - "returnParameters": { - "id": 1320, - "nodeType": "ParameterList", - "parameters": [], - "src": "5291:0:2" - }, - "scope": 2106, - "src": "5228:466:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1425, - "nodeType": "Block", - "src": "5992:384:2", - "statements": [ - { - "assignments": [ - 1385 - ], - "declarations": [ - { - "constant": false, - "id": 1385, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1426, - "src": "5998:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1384, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "5998:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1389, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1386, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "6024:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1388, - "indexExpression": { - "argumentTypes": null, - "id": 1387, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6033:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6024:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5998:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1391, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6061:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6061:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1393, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "6075:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "6075:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6061:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1390, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6053:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6053:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1397, - "nodeType": "ExpressionStatement", - "src": "6053:36:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1400, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6117:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1399, - "name": "isWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "6103:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6103:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1398, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6095:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6095:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1403, - "nodeType": "ExpressionStatement", - "src": "6095:36:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1405, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "6190:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "6190:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6213:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6190:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1409, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "6218:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1412, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1410, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "6229:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "6229:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6218:31:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "6218:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6190:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1404, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6182:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6182:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1416, - "nodeType": "ExpressionStatement", - "src": "6182:77:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1418, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6321:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1417, - "name": "resetListing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2105, - "src": "6308:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6308:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1420, - "nodeType": "ExpressionStatement", - "src": "6308:26:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1422, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6358:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1421, - "name": "_ListingWithdrawn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "6340:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6340:31:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1424, - "nodeType": "ExpressionStatement", - "src": "6340:31:2" - } - ] - }, - "documentation": "@dev Allows the owner of a listingHash to remove the listingHash from the whitelist\nReturns all tokens to the owner of the listingHash\n@param _listingHash A listingHash msg.sender is the owner of.", - "id": 1426, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "exit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1381, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1426, - "src": "5961:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1380, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5961:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5960:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1383, - "nodeType": "ParameterList", - "parameters": [], - "src": "5992:0:2" - }, - "scope": 2106, - "src": "5947:429:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1577, - "nodeType": "Block", - "src": "6978:1475:2", - "statements": [ - { - "assignments": [ - 1436 - ], - "declarations": [ - { - "constant": false, - "id": 1436, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6984:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1435, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "6984:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1440, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1437, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "7010:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1439, - "indexExpression": { - "argumentTypes": null, - "id": 1438, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7019:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7010:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6984:48:2" - }, - { - "assignments": [ - 1442 - ], - "declarations": [ - { - "constant": false, - "id": 1442, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "7038:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1441, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7038:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1447, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 1445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7071:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1443, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7053:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7053:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7053:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7038:46:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1450, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7176:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1449, - "name": "appWasMade", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "7165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7165:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1452, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7193:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "7193:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7165:47:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1448, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7157:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7157:56:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1456, - "nodeType": "ExpressionStatement", - "src": "7157:56:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1458, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7262:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "7262:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7285:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7262:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1462, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "7290:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1465, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1463, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7301:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "7301:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7290:31:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "7290:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7262:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1457, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7254:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7254:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1469, - "nodeType": "ExpressionStatement", - "src": "7254:77:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1470, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7342:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "7342:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1472, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "7368:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7342:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1485, - "nodeType": "IfStatement", - "src": "7338:188:2", - "trueBody": { - "id": 1484, - "nodeType": "Block", - "src": "7377:149:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1475, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7452:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1474, - "name": "resetListing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2105, - "src": "7439:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7439:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1477, - "nodeType": "ExpressionStatement", - "src": "7439:26:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1479, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7490:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1478, - "name": "_TouchAndRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "7473:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7473:30:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1481, - "nodeType": "ExpressionStatement", - "src": "7473:30:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7518:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1434, - "id": 1483, - "nodeType": "Return", - "src": "7511:8:2" - } - ] - } - }, - { - "assignments": [ - 1487 - ], - "declarations": [ - { - "constant": false, - "id": 1487, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "7551:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1486, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7551:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1503, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "766f746551756f72756d", - "id": 1492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7609:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - }, - "value": "voteQuorum" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1490, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7591:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7591:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7591:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "636f6d6d697453746167654c656e", - "id": 1496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7650:16:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - }, - "value": "commitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1494, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7632:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7632:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7632:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "72657665616c53746167654c656e", - "id": 1500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7695:16:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - }, - "value": "revealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1498, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7677:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7677:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7677:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1488, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "7565:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "startPoll", - "nodeType": "MemberAccess", - "referencedDeclaration": 3121, - "src": "7565:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) external returns (uint256)" - } - }, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7565:153:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7551:167:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1504, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "7725:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1506, - "indexExpression": { - "argumentTypes": null, - "id": 1505, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "7736:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7725:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1508, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7776:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7776:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7808:3:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7832:17:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1511, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7814:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7814:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7814:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7808:42:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1516, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7807:44:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1517, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "7854:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7807:54:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1519, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7806:56:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7865:3:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "7806:62:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1522, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "7883:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7908:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 1524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7934:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 1507, - "name": "Challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1132, - "src": "7746:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Challenge_$1132_storage_ptr_$", - "typeString": "type(struct Registry.Challenge storage pointer)" - } - }, - "id": 1525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "challenger", - "rewardPool", - "stake", - "resolved", - "totalTokens" - ], - "nodeType": "FunctionCall", - "src": "7746:196:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_memory", - "typeString": "struct Registry.Challenge memory" - } - }, - "src": "7725:217:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "7725:217:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1528, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "8007:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "8007:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1531, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8029:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8007:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1533, - "nodeType": "ExpressionStatement", - "src": "8007:28:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1534, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "8095:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1536, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "8095:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1537, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "8122:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8095:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1539, - "nodeType": "ExpressionStatement", - "src": "8095:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1543, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8199:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8199:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1545, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "8211:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - } - }, - { - "argumentTypes": null, - "id": 1546, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "8217:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1541, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "8180:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "8180:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8180:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1540, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8172:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8172:54:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1549, - "nodeType": "ExpressionStatement", - "src": "8172:54:2" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1551, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "8233:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8233:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1552, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8233:18:2" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1554, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "8257:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1553, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8257:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1555, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8257:18:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 1556, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1551, - "src": "8282:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1557, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "8297:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null - ], - "id": 1558, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8281:31:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", - "typeString": "tuple(uint256,uint256,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1561, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8330:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1559, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "8315:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollMap", - "nodeType": "MemberAccess", - "referencedDeclaration": 2561, - "src": "8315:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8315:22:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "8281:56:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1564, - "nodeType": "ExpressionStatement", - "src": "8281:56:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1566, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "8359:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1567, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8373:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1568, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1430, - "src": "8381:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1569, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1551, - "src": "8388:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1570, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "8403:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1571, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8418:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8418:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1565, - "name": "_Challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1035, - "src": "8348:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,string memory,uint256,uint256,address)" - } - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8348:81:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1574, - "nodeType": "ExpressionStatement", - "src": "8348:81:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1575, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8442:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1434, - "id": 1576, - "nodeType": "Return", - "src": "8435:13:2" - } - ] - }, - "documentation": "@dev Starts a poll for a listingHash which is either in the apply stage or\nalready in the whitelist. Tokens are taken from the challenger and the\napplicant's deposits are locked.\n@param _listingHash The listingHash being challenged, whether listed or in application\n@param _data Extra data relevant to the challenge. Think IPFS hashes.", - "id": 1578, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "challenge", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1428, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6906:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1427, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6906:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1430, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6928:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1429, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6928:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6905:36:2" - }, - "payable": false, - "returnParameters": { - "id": 1434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1433, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6960:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1432, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6960:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6959:18:2" - }, - "scope": 2106, - "src": "6887:1566:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1605, - "nodeType": "Block", - "src": "8733:217:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1584, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8760:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1583, - "name": "canBeWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1784, - "src": "8743:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8743:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1592, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8857:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1591, - "name": "challengeCanBeResolved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1867, - "src": "8834:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8834:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1602, - "nodeType": "Block", - "src": "8923:23:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1599, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3897, - 3898 - ], - "referencedDeclaration": 3897, - "src": "8931:6:2", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8931:8:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1601, - "nodeType": "ExpressionStatement", - "src": "8931:8:2" - } - ] - }, - "id": 1603, - "nodeType": "IfStatement", - "src": "8830:116:2", - "trueBody": { - "id": 1598, - "nodeType": "Block", - "src": "8872:45:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1595, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8897:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1594, - "name": "resolveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2028, - "src": "8880:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8880:30:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1597, - "nodeType": "ExpressionStatement", - "src": "8880:30:2" - } - ] - } - }, - "id": 1604, - "nodeType": "IfStatement", - "src": "8739:207:2", - "trueBody": { - "id": 1590, - "nodeType": "Block", - "src": "8775:49:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1587, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8804:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1586, - "name": "whitelistApplication", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "8783:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8783:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1589, - "nodeType": "ExpressionStatement", - "src": "8783:34:2" - } - ] - } - } - ] - }, - "documentation": "@dev Updates a listingHash's status from 'application' to 'listing' or resolves\na challenge if one exists.\n@param _listingHash The listingHash whose status is being updated", - "id": 1606, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1580, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1606, - "src": "8704:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1579, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8704:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8703:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1582, - "nodeType": "ParameterList", - "parameters": [], - "src": "8733:0:2" - }, - "scope": 2106, - "src": "8682:268:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1693, - "nodeType": "Block", - "src": "9419:848:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1614, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "9531:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1616, - "indexExpression": { - "argumentTypes": null, - "id": 1615, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9542:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9531:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "9531:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1620, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1618, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9568:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9568:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9531:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9583:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "9531:57:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1613, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9523:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9523:66:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1624, - "nodeType": "ExpressionStatement", - "src": "9523:66:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1626, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "9603:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1628, - "indexExpression": { - "argumentTypes": null, - "id": 1627, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9614:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9603:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "9603:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9640:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9603:41:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1625, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9595:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9595:50:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1633, - "nodeType": "ExpressionStatement", - "src": "9595:50:2" - }, - { - "assignments": [ - 1635 - ], - "declarations": [ - { - "constant": false, - "id": 1635, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9652:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1634, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9652:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1643, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1638, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9698:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9698:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1640, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9710:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1641, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "9724:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1636, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "9671:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "9671:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:59:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9652:78:2" - }, - { - "assignments": [ - 1645 - ], - "declarations": [ - { - "constant": false, - "id": 1645, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9736:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1644, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9736:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1652, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1647, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9762:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9762:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1649, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9774:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1650, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "9788:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1646, - "name": "voterReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "9750:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view returns (uint256)" - } - }, - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9750:44:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9736:58:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1653, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "9944:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1655, - "indexExpression": { - "argumentTypes": null, - "id": 1654, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9955:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9944:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "9944:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1657, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1635, - "src": "9984:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9944:51:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1659, - "nodeType": "ExpressionStatement", - "src": "9944:51:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1660, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10001:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1662, - "indexExpression": { - "argumentTypes": null, - "id": 1661, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "10012:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10001:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "10001:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1664, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "10040:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10001:45:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1666, - "nodeType": "ExpressionStatement", - "src": "10001:45:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1667, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10102:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1669, - "indexExpression": { - "argumentTypes": null, - "id": 1668, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "10113:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10102:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "10102:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1673, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1671, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10139:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10139:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10102:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10153:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10102:55:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1676, - "nodeType": "ExpressionStatement", - "src": "10102:55:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10187:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10187:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1682, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "10199:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1678, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "10172:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "10172:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10172:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1677, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "10164:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10164:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1685, - "nodeType": "ExpressionStatement", - "src": "10164:43:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1687, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "10229:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1688, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "10243:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1689, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10251:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10251:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1686, - "name": "_RewardClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "10214:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 1691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10214:48:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1692, - "nodeType": "ExpressionStatement", - "src": "10214:48:2" - } - ] - }, - "documentation": "@dev Called by a voter to claim their reward for each completed vote. Someone\nmust call updateStatus() before this can be called.\n@param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n@param _salt The salt of a voter's commit hash in the given poll", - "id": 1694, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "claimReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1608, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9381:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1607, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9381:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1610, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9400:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1609, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9400:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9380:31:2" - }, - "payable": false, - "returnParameters": { - "id": 1612, - "nodeType": "ParameterList", - "parameters": [], - "src": "9419:0:2" - }, - "scope": 2106, - "src": "9360:907:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1735, - "nodeType": "Block", - "src": "10822:258:2", - "statements": [ - { - "assignments": [ - 1706 - ], - "declarations": [ - { - "constant": false, - "id": 1706, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10828:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1705, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10828:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1711, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1707, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10847:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1709, - "indexExpression": { - "argumentTypes": null, - "id": 1708, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "10858:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10847:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "10847:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10828:55:2" - }, - { - "assignments": [ - 1713 - ], - "declarations": [ - { - "constant": false, - "id": 1713, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10889:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1712, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10889:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1718, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1714, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10907:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1716, - "indexExpression": { - "argumentTypes": null, - "id": 1715, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "10918:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10907:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "10907:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10889:53:2" - }, - { - "assignments": [ - 1720 - ], - "declarations": [ - { - "constant": false, - "id": 1720, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10948:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1719, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10948:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1723, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1696, - "src": "10994:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1724, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "11002:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1725, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "11016:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1721, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "10967:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "10967:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 1726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10967:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10948:74:2" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1728, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11036:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1729, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1713, - "src": "11050:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11036:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1731, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11035:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1732, - "name": "totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1706, - "src": "11064:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11035:40:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1704, - "id": 1734, - "nodeType": "Return", - "src": "11028:47:2" - } - ] - }, - "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The pollID of the challenge a reward balance is being queried for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", - "id": 1736, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "voterReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1696, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10744:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10744:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1698, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10760:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1697, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10760:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1700, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10779:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1699, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10779:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10743:47:2" - }, - "payable": false, - "returnParameters": { - "id": 1704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10814:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1702, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10814:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10813:6:2" - }, - "scope": 2106, - "src": "10723:357:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1783, - "nodeType": "Block", - "src": "11318:631:2", - "statements": [ - { - "assignments": [ - 1744 - ], - "declarations": [ - { - "constant": false, - "id": 1744, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "11324:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1743, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11324:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1749, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1745, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "11343:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1747, - "indexExpression": { - "argumentTypes": null, - "id": 1746, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11352:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11343:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "11343:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11324:53:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1751, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11650:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1750, - "name": "appWasMade", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "11639:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11639:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1753, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "11710:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1755, - "indexExpression": { - "argumentTypes": null, - "id": 1754, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11719:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11710:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "11710:40:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1757, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "11753:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11710:46:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11639:117:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 1763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11803:28:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1761, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11818:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1760, - "name": "isWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "11804:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11804:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11639:192:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1765, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "11842:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11857:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11842:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1768, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "11862:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1770, - "indexExpression": { - "argumentTypes": null, - "id": 1769, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "11873:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11862:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "11862:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11898:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "11862:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11842:60:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1775, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11841:62:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11639:264:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1780, - "nodeType": "IfStatement", - "src": "11591:335:2", - "trueBody": { - "id": 1779, - "nodeType": "Block", - "src": "11910:16:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11919:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1742, - "id": 1778, - "nodeType": "Return", - "src": "11912:11:2" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11939:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1742, - "id": 1782, - "nodeType": "Return", - "src": "11932:12:2" - } - ] - }, - "documentation": "@dev Determines whether the given listingHash be whitelisted.\n@param _listingHash The listingHash whose status is to be examined", - "id": 1784, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canBeWhitelisted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1738, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "11269:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1737, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11269:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11268:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1741, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "11312:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1740, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11312:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11311:6:2" - }, - "scope": 2106, - "src": "11243:706:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1796, - "nodeType": "Block", - "src": "12195:52:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1791, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12208:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1793, - "indexExpression": { - "argumentTypes": null, - "id": 1792, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1786, - "src": "12217:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12208:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "12208:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1790, - "id": 1795, - "nodeType": "Return", - "src": "12201:41:2" - } - ] - }, - "documentation": "@dev Returns true if the provided listingHash is whitelisted\n@param _listingHash The listingHash whose status is to be examined", - "id": 1797, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWhitelisted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1786, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1797, - "src": "12134:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1785, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12134:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12133:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1789, - "name": "whitelisted", - "nodeType": "VariableDeclaration", - "scope": 1797, - "src": "12177:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1788, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12177:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12176:18:2" - }, - "scope": 2106, - "src": "12111:136:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1811, - "nodeType": "Block", - "src": "12483:62:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1804, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12496:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1806, - "indexExpression": { - "argumentTypes": null, - "id": 1805, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1799, - "src": "12505:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12496:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "12496:40:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12539:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12496:44:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1803, - "id": 1810, - "nodeType": "Return", - "src": "12489:51:2" - } - ] - }, - "documentation": "@dev Returns true if apply was called for this listingHash\n@param _listingHash The listingHash whose status is to be examined", - "id": 1812, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "appWasMade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1799, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1812, - "src": "12427:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1798, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12427:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12426:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1802, - "name": "exists", - "nodeType": "VariableDeclaration", - "scope": 1812, - "src": "12470:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1801, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12470:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12469:13:2" - }, - "scope": 2106, - "src": "12407:138:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1840, - "nodeType": "Block", - "src": "12797:155:2", - "statements": [ - { - "assignments": [ - 1820 - ], - "declarations": [ - { - "constant": false, - "id": 1820, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1841, - "src": "12803:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1819, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12803:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1825, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1821, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12822:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1823, - "indexExpression": { - "argumentTypes": null, - "id": 1822, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1814, - "src": "12831:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12822:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "12822:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12803:53:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1826, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12871:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1828, - "indexExpression": { - "argumentTypes": null, - "id": 1827, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1814, - "src": "12880:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12871:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "12871:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12908:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12871:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 1836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12913:33:2", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1832, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "12914:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1834, - "indexExpression": { - "argumentTypes": null, - "id": 1833, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "12925:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12914:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "12914:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12871:75:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1838, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12870:77:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1818, - "id": 1839, - "nodeType": "Return", - "src": "12863:84:2" - } - ] - }, - "documentation": "@dev Returns true if the application/listingHash has an unresolved challenge\n@param _listingHash The listingHash whose status is to be examined", - "id": 1841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1815, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1814, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1841, - "src": "12748:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1813, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12748:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12747:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1817, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1841, - "src": "12791:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1816, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12791:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12790:6:2" - }, - "scope": 2106, - "src": "12723:229:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1866, - "nodeType": "Block", - "src": "13268:152:2", - "statements": [ - { - "assignments": [ - 1849 - ], - "declarations": [ - { - "constant": false, - "id": 1849, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1867, - "src": "13274:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1848, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13274:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1854, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1850, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "13293:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1852, - "indexExpression": { - "argumentTypes": null, - "id": 1851, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "13302:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13293:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1853, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "13293:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13274:53:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1857, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "13358:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1856, - "name": "challengeExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1841, - "src": "13342:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13342:29:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1855, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13334:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13334:38:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1860, - "nodeType": "ExpressionStatement", - "src": "13334:38:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1863, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1849, - "src": "13403:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1861, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "13386:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollEnded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3207, - "src": "13386:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 1864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13386:29:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1847, - "id": 1865, - "nodeType": "Return", - "src": "13379:36:2" - } - ] - }, - "documentation": "@dev Determines whether voting has concluded in a challenge for a given\nlistingHash. Throws if no challenge exists.\n@param _listingHash A listingHash with an unresolved challenge", - "id": 1867, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeCanBeResolved", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1843, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1867, - "src": "13219:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1842, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13219:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13218:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1846, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1867, - "src": "13262:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13262:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13261:6:2" - }, - "scope": 2106, - "src": "13187:233:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1915, - "nodeType": "Block", - "src": "13669:375:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13683:34:2", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1875, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "13684:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1877, - "indexExpression": { - "argumentTypes": null, - "id": 1876, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13695:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13684:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "13684:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1882, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13738:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1880, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "13721:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollEnded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3207, - "src": "13721:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13721:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13683:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1874, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13675:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13675:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1886, - "nodeType": "ExpressionStatement", - "src": "13675:77:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1889, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13876:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1887, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "13830:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "13830:45:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 1890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13830:59:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13893:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13830:64:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1901, - "nodeType": "IfStatement", - "src": "13826:126:2", - "trueBody": { - "id": 1900, - "nodeType": "Block", - "src": "13896:56:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13911:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1894, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "13915:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1896, - "indexExpression": { - "argumentTypes": null, - "id": 1895, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13926:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13915:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 1125, - "src": "13915:30:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13911:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1873, - "id": 1899, - "nodeType": "Return", - "src": "13904:41:2" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13966:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1903, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "13970:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1905, - "indexExpression": { - "argumentTypes": null, - "id": 1904, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13981:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13970:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 1125, - "src": "13970:30:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13966:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1908, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13965:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1909, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "14004:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1911, - "indexExpression": { - "argumentTypes": null, - "id": 1910, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "14015:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14004:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "14004:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13965:74:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1873, - "id": 1914, - "nodeType": "Return", - "src": "13958:81:2" - } - ] - }, - "documentation": "@dev Determines the number of tokens awarded to the winning party in a challenge.\n@param _challengeID The challengeID to determine a reward for", - "id": 1916, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "determineReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1869, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "13623:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1868, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13623:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13622:19:2" - }, - "payable": false, - "returnParameters": { - "id": 1873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1872, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "13663:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1871, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13663:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13662:6:2" - }, - "scope": 2106, - "src": "13598:446:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1932, - "nodeType": "Block", - "src": "14342:62:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1925, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "14355:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1927, - "indexExpression": { - "argumentTypes": null, - "id": 1926, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1918, - "src": "14366:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14355:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "14355:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1930, - "indexExpression": { - "argumentTypes": null, - "id": 1929, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1920, - "src": "14392:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14355:44:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1924, - "id": 1931, - "nodeType": "Return", - "src": "14348:51:2" - } - ] - }, - "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", - "id": 1933, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "tokenClaims", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1918, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1933, - "src": "14280:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1917, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14280:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1920, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 1933, - "src": "14299:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1919, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14299:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14279:35:2" - }, - "payable": false, - "returnParameters": { - "id": 1924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1923, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1933, - "src": "14336:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1922, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14336:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14335:6:2" - }, - "scope": 2106, - "src": "14259:145:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2027, - "nodeType": "Block", - "src": "14784:1218:2", - "statements": [ - { - "assignments": [ - 1939 - ], - "declarations": [ - { - "constant": false, - "id": 1939, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "14790:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1938, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14790:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1944, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1940, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "14809:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1942, - "indexExpression": { - "argumentTypes": null, - "id": 1941, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "14818:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14809:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "14809:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14790:53:2" - }, - { - "assignments": [ - 1946 - ], - "declarations": [ - { - "constant": false, - "id": 1946, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "14964:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1945, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14964:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1950, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1948, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "14994:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1947, - "name": "determineReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1916, - "src": "14978:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14978:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14964:42:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1951, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15059:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1953, - "indexExpression": { - "argumentTypes": null, - "id": 1952, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15070:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15059:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "15059:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15094:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "15059:39:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1957, - "nodeType": "ExpressionStatement", - "src": "15059:39:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1958, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15192:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1960, - "indexExpression": { - "argumentTypes": null, - "id": 1959, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15203:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15192:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1961, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "15192:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1964, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15276:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1962, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "15230:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "15230:45:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15230:58:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15192:96:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1967, - "nodeType": "ExpressionStatement", - "src": "15192:96:2" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1970, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15345:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1968, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "15329:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isPassed", - "nodeType": "MemberAccess", - "referencedDeclaration": 3158, - "src": "15329:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15329:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2025, - "nodeType": "Block", - "src": "15662:336:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1998, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15728:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1997, - "name": "resetListing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2105, - "src": "15715:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15715:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2000, - "nodeType": "ExpressionStatement", - "src": "15715:26:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2004, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15819:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 2006, - "indexExpression": { - "argumentTypes": null, - "id": 2005, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15830:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15819:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 2007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challenger", - "nodeType": "MemberAccess", - "referencedDeclaration": 1121, - "src": "15819:34:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2008, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1946, - "src": "15855:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2002, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15804:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "15804:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15804:58:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2001, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "15796:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15796:67:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2011, - "nodeType": "ExpressionStatement", - "src": "15796:67:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2013, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15892:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 2014, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15906:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2015, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15919:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 2017, - "indexExpression": { - "argumentTypes": null, - "id": 2016, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15930:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15919:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 2018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "15919:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2019, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15955:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 2021, - "indexExpression": { - "argumentTypes": null, - "id": 2020, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15966:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15955:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 2022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "15955:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2012, - "name": "_ChallengeSucceeded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "15872:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 2023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15872:119:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2024, - "nodeType": "ExpressionStatement", - "src": "15872:119:2" - } - ] - }, - "id": 2026, - "nodeType": "IfStatement", - "src": "15325:673:2", - "trueBody": { - "id": 1996, - "nodeType": "Block", - "src": "15359:297:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1973, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15388:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1972, - "name": "whitelistApplication", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "15367:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15367:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1975, - "nodeType": "ExpressionStatement", - "src": "15367:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1976, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "15476:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1978, - "indexExpression": { - "argumentTypes": null, - "id": 1977, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15485:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15476:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "15476:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 1980, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1946, - "src": "15518:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15476:48:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1982, - "nodeType": "ExpressionStatement", - "src": "15476:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1984, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15550:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1985, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15564:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1986, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15577:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1988, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15588:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15577:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "15577:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1990, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15613:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1992, - "indexExpression": { - "argumentTypes": null, - "id": 1991, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15624:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15613:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "15613:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1983, - "name": "_ChallengeFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "15533:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 1994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15533:116:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1995, - "nodeType": "ExpressionStatement", - "src": "15533:116:2" - } - ] - } - } - ] - }, - "documentation": "@dev Determines the winner in a challenge. Rewards the winner tokens and\neither whitelists or de-whitelists the listingHash.\n@param _listingHash A listingHash with a challenge that is to be resolved", - "id": 2028, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resolveChallenge", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1935, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "14754:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1934, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14754:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14753:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1937, - "nodeType": "ParameterList", - "parameters": [], - "src": "14784:0:2" - }, - "scope": 2106, - "src": "14728:1274:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 2051, - "nodeType": "Block", - "src": "16396:140:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16406:35:2", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2033, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "16407:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2035, - "indexExpression": { - "argumentTypes": null, - "id": 2034, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "16416:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16407:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 2036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "16407:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2043, - "nodeType": "IfStatement", - "src": "16402:83:2", - "trueBody": { - "id": 2042, - "nodeType": "Block", - "src": "16443:42:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2039, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "16469:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2038, - "name": "_ApplicationWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "16445:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 2040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16445:37:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2041, - "nodeType": "ExpressionStatement", - "src": "16445:37:2" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2044, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "16490:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2046, - "indexExpression": { - "argumentTypes": null, - "id": 2045, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "16499:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16490:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 2047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "16490:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16527:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16490:41:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2050, - "nodeType": "ExpressionStatement", - "src": "16490:41:2" - } - ] - }, - "documentation": "@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made. Called by resolveChallenge() if an\napplication/listing beat a challenge.\n@param _listingHash The listingHash of an application/listingHash to be whitelisted", - "id": 2052, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "whitelistApplication", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2030, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 2052, - "src": "16366:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2029, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16366:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16365:22:2" - }, - "payable": false, - "returnParameters": { - "id": 2032, - "nodeType": "ParameterList", - "parameters": [], - "src": "16396:0:2" - }, - "scope": 2106, - "src": "16336:200:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 2104, - "nodeType": "Block", - "src": "16750:579:2", - "statements": [ - { - "assignments": [ - 2058 - ], - "declarations": [ - { - "constant": false, - "id": 2058, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "16756:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 2057, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "16756:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2062, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2059, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "16782:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2061, - "indexExpression": { - "argumentTypes": null, - "id": 2060, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "16791:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16782:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16756:48:2" - }, - { - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2063, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "16890:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 2064, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "16890:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2074, - "nodeType": "Block", - "src": "16961:48:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2071, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "16989:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2070, - "name": "_ApplicationRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "16969:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16969:33:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2073, - "nodeType": "ExpressionStatement", - "src": "16969:33:2" - } - ] - }, - "id": 2075, - "nodeType": "IfStatement", - "src": "16886:123:2", - "trueBody": { - "id": 2069, - "nodeType": "Block", - "src": "16911:44:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2066, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "16935:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2065, - "name": "_ListingRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "16919:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16919:29:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2068, - "nodeType": "ExpressionStatement", - "src": "16919:29:2" - } - ] - } - }, - { - "assignments": [ - 2077 - ], - "declarations": [ - { - "constant": false, - "id": 2077, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "17058:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17058:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2080, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2078, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "17074:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 2079, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "17074:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17058:29:2" - }, - { - "assignments": [ - 2082 - ], - "declarations": [ - { - "constant": false, - "id": 2082, - "name": "unstakedDeposit", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "17093:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17093:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2085, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2083, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "17116:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "17116:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17093:46:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "17145:29:2", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2086, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "17152:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2088, - "indexExpression": { - "argumentTypes": null, - "id": 2087, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "17161:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17152:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2090, - "nodeType": "ExpressionStatement", - "src": "17145:29:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2091, - "name": "unstakedDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2082, - "src": "17242:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17260:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17242:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2103, - "nodeType": "IfStatement", - "src": "17238:87:2", - "trueBody": { - "id": 2102, - "nodeType": "Block", - "src": "17263:62:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2097, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2077, - "src": "17294:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2098, - "name": "unstakedDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2082, - "src": "17301:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2095, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "17279:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "17279:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17279:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2094, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "17271:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17271:47:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2101, - "nodeType": "ExpressionStatement", - "src": "17271:47:2" - } - ] - } - } - ] - }, - "documentation": "@dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n@param _listingHash The listing hash to delete", - "id": 2105, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resetListing", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2054, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "16720:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2053, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16720:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16719:22:2" - }, - "payable": false, - "returnParameters": { - "id": 2056, - "nodeType": "ParameterList", - "parameters": [], - "src": "16750:0:2" - }, - "scope": 2106, - "src": "16698:631:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 2107, - "src": "171:17160:2" - } - ], - "src": "0:17332:2" - }, - "legacyAST": { - "absolutePath": "/home/rbharath/computable/contracts/Registry.sol", - "exportedSymbols": { - "Registry": [ - 2106 - ] - }, - "id": 2107, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1005, - "literals": [ - "solidity", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:23:2" - }, - { - "absolutePath": "tokens/eip20/EIP20Interface.sol", - "file": "tokens/eip20/EIP20Interface.sol", - "id": 1006, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 3783, - "src": "25:41:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/rbharath/computable/contracts/Parameterizer.sol", - "file": "./Parameterizer.sol", - "id": 1007, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 1004, - "src": "67:29:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "plcrvoting/PLCRVoting.sol", - "file": "plcrvoting/PLCRVoting.sol", - "id": 1008, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 3489, - "src": "97:35:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "zeppelin/math/SafeMath.sol", - "file": "zeppelin/math/SafeMath.sol", - "id": 1009, - "nodeType": "ImportDirective", - "scope": 2107, - "sourceUnit": 3878, - "src": "133:36:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2106, - "linearizedBaseContracts": [ - 2106 - ], - "name": "Registry", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": null, - "id": 1021, - "name": "_Application", - "nodeType": "EventDefinition", - "parameters": { - "id": 1020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1011, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "250:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1010, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "250:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1013, - "indexed": false, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "279:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1012, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "279:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1015, - "indexed": false, - "name": "appEndDate", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "293:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1014, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "293:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1017, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "310:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1016, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "310:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1019, - "indexed": true, - "name": "applicant", - "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "323:25:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "323:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "249:100:2" - }, - "src": "231:119:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1035, - "name": "_Challenge", - "nodeType": "EventDefinition", - "parameters": { - "id": 1034, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1023, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "370:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1022, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "370:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1025, - "indexed": false, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "399:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1024, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "399:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1027, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "417:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1026, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "417:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1029, - "indexed": false, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "430:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1028, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "430:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1031, - "indexed": false, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "450:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1030, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "450:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1033, - "indexed": true, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "470:26:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "470:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "369:128:2" - }, - "src": "353:145:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1045, - "name": "_Deposit", - "nodeType": "EventDefinition", - "parameters": { - "id": 1044, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1037, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "516:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1036, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "516:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1039, - "indexed": false, - "name": "added", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "545:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1038, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "545:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1041, - "indexed": false, - "name": "newTotal", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "557:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1040, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "557:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1043, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1045, - "src": "572:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "515:79:2" - }, - "src": "501:94:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1055, - "name": "_Withdrawal", - "nodeType": "EventDefinition", - "parameters": { - "id": 1054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1047, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "616:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1046, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "616:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1049, - "indexed": false, - "name": "withdrew", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "645:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1048, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "645:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1051, - "indexed": false, - "name": "newTotal", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "660:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1050, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "660:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1053, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "675:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1052, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "615:82:2" - }, - "src": "598:100:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1059, - "name": "_ApplicationWhitelisted", - "nodeType": "EventDefinition", - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "731:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1056, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "731:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "730:29:2" - }, - "src": "701:59:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1063, - "name": "_ApplicationRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 1062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1061, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1063, - "src": "789:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1060, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "789:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "788:29:2" - }, - "src": "763:55:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1067, - "name": "_ListingRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 1066, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1065, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "843:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1064, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "843:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "842:29:2" - }, - "src": "821:51:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1071, - "name": "_ListingWithdrawn", - "nodeType": "EventDefinition", - "parameters": { - "id": 1070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1069, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1071, - "src": "899:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1068, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "899:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "898:29:2" - }, - "src": "875:53:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1075, - "name": "_TouchAndRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 1074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1073, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1075, - "src": "954:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1072, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "954:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:29:2" - }, - "src": "931:52:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1085, - "name": "_ChallengeFailed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1084, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1077, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1009:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1076, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1009:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1079, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1038:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1078, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1038:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1081, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1064:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1080, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1064:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1083, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1085, - "src": "1081:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1082, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1081:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1008:90:2" - }, - "src": "986:113:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1095, - "name": "_ChallengeSucceeded", - "nodeType": "EventDefinition", - "parameters": { - "id": 1094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1087, - "indexed": true, - "name": "listingHash", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1128:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1086, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1128:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1089, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1157:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1088, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1157:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1091, - "indexed": false, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1183:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1090, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1183:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1093, - "indexed": false, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1095, - "src": "1200:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1092, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1200:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1127:90:2" - }, - "src": "1102:116:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 1103, - "name": "_RewardClaimed", - "nodeType": "EventDefinition", - "parameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1097, - "indexed": true, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "1242:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1096, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1242:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1099, - "indexed": false, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "1268:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1098, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1268:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1101, - "indexed": true, - "name": "voter", - "nodeType": "VariableDeclaration", - "scope": 1103, - "src": "1281:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1281:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1241:62:2" - }, - "src": "1221:83:2" - }, - { - "id": 1106, - "libraryName": { - "contractScope": null, - "id": 1104, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3877, - "src": "1314:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3877", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:24:2", - "typeName": { - "id": 1105, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1327:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "Registry.Listing", - "id": 1117, - "members": [ - { - "constant": false, - "id": 1108, - "name": "applicationExpiry", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1357:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1107, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1357:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1110, - "name": "whitelisted", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1419:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1109, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1419:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1112, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1476:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1476:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1114, - "name": "unstakedDeposit", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1524:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1113, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1524:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1116, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "1613:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1115, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1613:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Listing", - "nodeType": "StructDefinition", - "scope": 2106, - "src": "1336:345:2", - "visibility": "public" - }, - { - "canonicalName": "Registry.Challenge", - "id": 1132, - "members": [ - { - "constant": false, - "id": 1119, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1708:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1118, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1708:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1121, - "name": "challenger", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1802:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1120, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1802:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1123, - "name": "resolved", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1852:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1122, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1125, - "name": "stake", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "1922:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1124, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1922:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1127, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "2013:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1126, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2013:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1131, - "name": "tokenClaims", - "nodeType": "VariableDeclaration", - "scope": 1132, - "src": "2108:36:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1130, - "keyType": { - "id": 1128, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2116:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2108:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1129, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2127:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Challenge", - "nodeType": "StructDefinition", - "scope": 2106, - "src": "1685:518:2", - "visibility": "public" - }, - { - "constant": false, - "id": 1136, - "name": "challenges", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2259:44:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge)" - }, - "typeName": { - "id": 1135, - "keyType": { - "id": 1133, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2267:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2259:26:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge)" - }, - "valueType": { - "contractScope": null, - "id": 1134, - "name": "Challenge", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1132, - "src": "2275:9:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage_ptr", - "typeString": "struct Registry.Challenge" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1140, - "name": "listings", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2363:43:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing)" - }, - "typeName": { - "id": 1139, - "keyType": { - "id": 1137, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2371:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "2363:27:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing)" - }, - "valueType": { - "contractScope": null, - "id": 1138, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "2382:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1142, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2433:27:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - }, - "typeName": { - "contractScope": null, - "id": 1141, - "name": "EIP20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3782, - "src": "2433:14:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1144, - "name": "voting", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2464:24:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - }, - "typeName": { - "contractScope": null, - "id": 1143, - "name": "PLCRVoting", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3488, - "src": "2464:10:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1146, - "name": "parameterizer", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2492:34:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - }, - "typeName": { - "contractScope": null, - "id": 1145, - "name": "Parameterizer", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1003, - "src": "2492:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1148, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 2106, - "src": "2530:18:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 1147, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2530:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 1181, - "nodeType": "Block", - "src": "3036:147:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1159, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "3042:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1161, - "name": "_tokenAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "3065:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1160, - "name": "EIP20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "3050:14:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_EIP20Interface_$3782_$", - "typeString": "type(contract EIP20Interface)" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3050:26:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "src": "3042:34:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1164, - "nodeType": "ExpressionStatement", - "src": "3042:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1165, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "3082:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1167, - "name": "_plcrAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1152, - "src": "3102:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1166, - "name": "PLCRVoting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3488, - "src": "3091:10:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$3488_$", - "typeString": "type(contract PLCRVoting)" - } - }, - "id": 1168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3091:21:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "src": "3082:30:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1170, - "nodeType": "ExpressionStatement", - "src": "3082:30:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1171, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3118:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1173, - "name": "_paramsAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3148:11:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1172, - "name": "Parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1003, - "src": "3134:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Parameterizer_$1003_$", - "typeString": "type(contract Parameterizer)" - } - }, - "id": 1174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3134:26:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "src": "3118:42:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1176, - "nodeType": "ExpressionStatement", - "src": "3118:42:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1177, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3166:4:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1178, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1156, - "src": "3173:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3166:12:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1180, - "nodeType": "ExpressionStatement", - "src": "3166:12:2" - } - ] - }, - "documentation": "@dev Contructor Sets the addresses for token, voting, and parameterizer\n@param _tokenAddr Address of the TCR's intrinsic ERC20 token\n@param _plcrAddr Address of a PLCR voting contract for the provided token\n@param _paramsAddr Address of a Parameterizer contract", - "id": 1182, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "Registry", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1150, - "name": "_tokenAddr", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "2938:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2938:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1152, - "name": "_plcrAddr", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "2962:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1154, - "name": "_paramsAddr", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "2985:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2985:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1156, - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "3010:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1155, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3010:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2932:94:2" - }, - "payable": false, - "returnParameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [], - "src": "3036:0:2" - }, - "scope": 2106, - "src": "2915:268:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1266, - "nodeType": "Block", - "src": "3753:619:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3767:28:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1193, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "3782:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1192, - "name": "isWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "3768:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1191, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3759:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3759:37:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1197, - "nodeType": "ExpressionStatement", - "src": "3759:37:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3810:25:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1200, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "3822:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1199, - "name": "appWasMade", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "3811:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3811:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1198, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3802:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3802:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1204, - "nodeType": "ExpressionStatement", - "src": "3802:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1206, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "3850:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 1209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3879:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1207, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "3861:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "3861:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3861:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3850:42:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1205, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "3842:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3842:51:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1213, - "nodeType": "ExpressionStatement", - "src": "3842:51:2" - }, - { - "assignments": [ - 1215 - ], - "declarations": [ - { - "constant": false, - "id": 1215, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3918:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1214, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "3918:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1219, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1216, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "3944:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1218, - "indexExpression": { - "argumentTypes": null, - "id": 1217, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "3953:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3944:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3918:48:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1220, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "3972:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "3972:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "3988:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3988:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3972:26:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1226, - "nodeType": "ExpressionStatement", - "src": "3972:26:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1227, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4038:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1229, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "4038:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6170706c7953746167654c656e", - "id": 1235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4104:15:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - }, - "value": "applyStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", - "typeString": "literal_string \"applyStageLen\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1233, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "4086:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "4086:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4086:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1230, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "4066:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4066:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "4066:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 1237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4066:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4038:83:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1239, - "nodeType": "ExpressionStatement", - "src": "4038:83:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1240, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4127:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "4127:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1243, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "4153:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4127:33:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "4127:33:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1249, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4249:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "4249:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1251, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "4264:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - } - }, - { - "argumentTypes": null, - "id": 1252, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "4270:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1247, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "4230:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "4230:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4230:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4222:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4222:57:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1255, - "nodeType": "ExpressionStatement", - "src": "4222:57:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1257, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "4299:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1258, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1186, - "src": "4313:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1259, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1215, - "src": "4322:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1260, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "4322:25:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1261, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1188, - "src": "4349:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4356:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4356:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1256, - "name": "_Application", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "4286:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,string memory,address)" - } - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4286:81:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1265, - "nodeType": "ExpressionStatement", - "src": "4286:81:2" - } - ] - }, - "documentation": "@dev Allows a user to start an application. Takes tokens from user and sets\napply stage end time.\n@param _listingHash The hash of a potential listing a user is applying to add to the registry\n@param _amount The number of ERC20 tokens a user is willing to potentially stake\n@param _data Extra data relevant to the application. Think IPFS hashes.", - "id": 1267, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "apply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1184, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3694:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1183, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3694:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1186, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3716:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1185, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3716:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1188, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1267, - "src": "3730:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1187, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3730:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3693:50:2" - }, - "payable": false, - "returnParameters": { - "id": 1190, - "nodeType": "ParameterList", - "parameters": [], - "src": "3753:0:2" - }, - "scope": 2106, - "src": "3679:693:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1313, - "nodeType": "Block", - "src": "4691:278:2", - "statements": [ - { - "assignments": [ - 1275 - ], - "declarations": [ - { - "constant": false, - "id": 1275, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1314, - "src": "4697:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1274, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "4697:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1279, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1276, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "4723:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1278, - "indexExpression": { - "argumentTypes": null, - "id": 1277, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1269, - "src": "4732:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4723:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4697:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1281, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "4760:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "4760:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1283, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4777:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4777:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4760:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1280, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4752:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4752:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1287, - "nodeType": "ExpressionStatement", - "src": "4752:36:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1288, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "4795:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1290, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "4795:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 1291, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1271, - "src": "4822:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4795:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "nodeType": "ExpressionStatement", - "src": "4795:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1297, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4862:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4862:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1299, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "4874:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - } - }, - { - "argumentTypes": null, - "id": 1300, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1271, - "src": "4880:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1295, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "4843:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "4843:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1294, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "4835:7:2", - "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": "4835:54:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1303, - "nodeType": "ExpressionStatement", - "src": "4835:54:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1305, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1269, - "src": "4905:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1306, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1271, - "src": "4919:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1307, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1275, - "src": "4928:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1308, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "4928:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1309, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "4953:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4953:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1304, - "name": "_Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "4896:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,address)" - } - }, - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4896:68:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1312, - "nodeType": "ExpressionStatement", - "src": "4896:68:2" - } - ] - }, - "documentation": "@dev Allows the owner of a listingHash to increase their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of\n@param _amount The number of ERC20 tokens to increase a user's unstaked deposit", - "id": 1314, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "deposit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1269, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1314, - "src": "4646:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1268, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4646:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1271, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1314, - "src": "4668:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1270, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4668:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4645:36:2" - }, - "payable": false, - "returnParameters": { - "id": 1273, - "nodeType": "ParameterList", - "parameters": [], - "src": "4691:0:2" - }, - "scope": 2106, - "src": "4629:340:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1378, - "nodeType": "Block", - "src": "5291:403:2", - "statements": [ - { - "assignments": [ - 1322 - ], - "declarations": [ - { - "constant": false, - "id": 1322, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5297:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1321, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "5297:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1326, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1323, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "5323:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1325, - "indexExpression": { - "argumentTypes": null, - "id": 1324, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1316, - "src": "5332:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5323:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5297:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1328, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5360:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "5360:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1330, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5377:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5377:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5360:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5352:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5352:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1334, - "nodeType": "ExpressionStatement", - "src": "5352:36:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1336, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5402:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1337, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5413:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5413:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5402:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1335, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5394:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5394:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1341, - "nodeType": "ExpressionStatement", - "src": "5394:43:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1343, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5451:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5451:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1345, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5477:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5451:33:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 1349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5506:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1347, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "5488:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "5488:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5488:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5451:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5443:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5443:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1353, - "nodeType": "ExpressionStatement", - "src": "5443:77:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1354, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5527:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5527:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1357, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5554:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5527:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1359, - "nodeType": "ExpressionStatement", - "src": "5527:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1363, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5590:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5590:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1365, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5602:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1361, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "5575:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "5575:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5575:35:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1360, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "5567:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5567:44:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "5567:44:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1370, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1316, - "src": "5630:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1371, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "5644:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1372, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "5653:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "5653:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1374, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "5678:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5678:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1369, - "name": "_Withdrawal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "5618:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,address)" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5618:71:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1377, - "nodeType": "ExpressionStatement", - "src": "5618:71:2" - } - ] - }, - "documentation": "@dev Allows the owner of a listingHash to decrease their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of.\n@param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.", - "id": 1379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "withdraw", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1319, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1316, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5246:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1315, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5246:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1318, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 1379, - "src": "5268:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1317, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5268:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5245:36:2" - }, - "payable": false, - "returnParameters": { - "id": 1320, - "nodeType": "ParameterList", - "parameters": [], - "src": "5291:0:2" - }, - "scope": 2106, - "src": "5228:466:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1425, - "nodeType": "Block", - "src": "5992:384:2", - "statements": [ - { - "assignments": [ - 1385 - ], - "declarations": [ - { - "constant": false, - "id": 1385, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1426, - "src": "5998:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1384, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "5998:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1389, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1386, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "6024:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1388, - "indexExpression": { - "argumentTypes": null, - "id": 1387, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6033:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6024:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5998:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1391, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "6061:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6061:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1393, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "6075:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "6075:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6061:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1390, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6053:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6053:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1397, - "nodeType": "ExpressionStatement", - "src": "6053:36:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1400, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6117:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1399, - "name": "isWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "6103:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6103:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1398, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6095:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6095:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1403, - "nodeType": "ExpressionStatement", - "src": "6095:36:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1405, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "6190:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "6190:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6213:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6190:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1409, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "6218:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1412, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1410, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "6229:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "6229:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6218:31:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "6218:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6190:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1404, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "6182:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6182:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1416, - "nodeType": "ExpressionStatement", - "src": "6182:77:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1418, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6321:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1417, - "name": "resetListing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2105, - "src": "6308:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6308:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1420, - "nodeType": "ExpressionStatement", - "src": "6308:26:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1422, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "6358:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1421, - "name": "_ListingWithdrawn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "6340:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6340:31:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1424, - "nodeType": "ExpressionStatement", - "src": "6340:31:2" - } - ] - }, - "documentation": "@dev Allows the owner of a listingHash to remove the listingHash from the whitelist\nReturns all tokens to the owner of the listingHash\n@param _listingHash A listingHash msg.sender is the owner of.", - "id": 1426, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "exit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1381, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1426, - "src": "5961:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1380, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5961:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5960:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1383, - "nodeType": "ParameterList", - "parameters": [], - "src": "5992:0:2" - }, - "scope": 2106, - "src": "5947:429:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1577, - "nodeType": "Block", - "src": "6978:1475:2", - "statements": [ - { - "assignments": [ - 1436 - ], - "declarations": [ - { - "constant": false, - "id": 1436, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6984:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 1435, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "6984:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1440, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1437, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "7010:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1439, - "indexExpression": { - "argumentTypes": null, - "id": 1438, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7019:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7010:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6984:48:2" - }, - { - "assignments": [ - 1442 - ], - "declarations": [ - { - "constant": false, - "id": 1442, - "name": "deposit", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "7038:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1441, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7038:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1447, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6d696e4465706f736974", - "id": 1445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7071:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - }, - "value": "minDeposit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", - "typeString": "literal_string \"minDeposit\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1443, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7053:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7053:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7053:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7038:46:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1450, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7176:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1449, - "name": "appWasMade", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "7165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7165:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1452, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7193:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "7193:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7165:47:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1448, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7157:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7157:56:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1456, - "nodeType": "ExpressionStatement", - "src": "7157:56:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1458, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7262:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "7262:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7285:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7262:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1462, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "7290:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1465, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1463, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7301:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1464, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "7301:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7290:31:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "7290:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7262:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1457, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "7254:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7254:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1469, - "nodeType": "ExpressionStatement", - "src": "7254:77:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1470, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "7342:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "7342:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1472, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "7368:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7342:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1485, - "nodeType": "IfStatement", - "src": "7338:188:2", - "trueBody": { - "id": 1484, - "nodeType": "Block", - "src": "7377:149:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1475, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7452:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1474, - "name": "resetListing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2105, - "src": "7439:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7439:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1477, - "nodeType": "ExpressionStatement", - "src": "7439:26:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1479, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "7490:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1478, - "name": "_TouchAndRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "7473:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7473:30:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1481, - "nodeType": "ExpressionStatement", - "src": "7473:30:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7518:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1434, - "id": 1483, - "nodeType": "Return", - "src": "7511:8:2" - } - ] - } - }, - { - "assignments": [ - 1487 - ], - "declarations": [ - { - "constant": false, - "id": 1487, - "name": "pollID", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "7551:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1486, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7551:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1503, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "766f746551756f72756d", - "id": 1492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7609:12:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - }, - "value": "voteQuorum" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", - "typeString": "literal_string \"voteQuorum\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1490, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7591:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7591:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7591:31:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "636f6d6d697453746167654c656e", - "id": 1496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7650:16:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - }, - "value": "commitStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", - "typeString": "literal_string \"commitStageLen\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1494, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7632:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7632:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7632:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "72657665616c53746167654c656e", - "id": 1500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7695:16:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - }, - "value": "revealStageLen" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", - "typeString": "literal_string \"revealStageLen\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1498, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7677:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7677:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7677:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1488, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "7565:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "startPoll", - "nodeType": "MemberAccess", - "referencedDeclaration": 3121, - "src": "7565:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) external returns (uint256)" - } - }, - "id": 1502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7565:153:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7551:167:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1504, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "7725:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1506, - "indexExpression": { - "argumentTypes": null, - "id": 1505, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "7736:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7725:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1508, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "7776:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7776:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7808:3:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "64697370656e736174696f6e506374", - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7832:17:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - }, - "value": "dispensationPct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", - "typeString": "literal_string \"dispensationPct\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 1511, - "name": "parameterizer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1146, - "src": "7814:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Parameterizer_$1003", - "typeString": "contract Parameterizer" - } - }, - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 865, - "src": "7814:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view external returns (uint256)" - } - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7814:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7808:42:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1516, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7807:44:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1517, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "7854:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7807:54:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1519, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7806:56:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7865:3:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "7806:62:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1522, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "7883:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7908:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 1524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7934:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": null, - "id": 1507, - "name": "Challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1132, - "src": "7746:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Challenge_$1132_storage_ptr_$", - "typeString": "type(struct Registry.Challenge storage pointer)" - } - }, - "id": 1525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "challenger", - "rewardPool", - "stake", - "resolved", - "totalTokens" - ], - "nodeType": "FunctionCall", - "src": "7746:196:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_memory", - "typeString": "struct Registry.Challenge memory" - } - }, - "src": "7725:217:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "7725:217:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1528, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "8007:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "8007:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1531, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8029:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8007:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1533, - "nodeType": "ExpressionStatement", - "src": "8007:28:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1534, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "8095:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 1536, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "8095:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1537, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "8122:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8095:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1539, - "nodeType": "ExpressionStatement", - "src": "8095:34:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1543, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8199:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8199:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1545, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "8211:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - } - }, - { - "argumentTypes": null, - "id": 1546, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "8217:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Registry_$2106", - "typeString": "contract Registry" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1541, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "8180:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 3747, - "src": "8180:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8180:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1540, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "8172:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8172:54:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1549, - "nodeType": "ExpressionStatement", - "src": "8172:54:2" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1551, - "name": "commitEndDate", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "8233:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1550, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8233:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1552, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8233:18:2" - }, - { - "assignments": [], - "declarations": [ - { - "constant": false, - "id": 1554, - "name": "revealEndDate", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "8257:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1553, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8257:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1555, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "8257:18:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 1556, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1551, - "src": "8282:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1557, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "8297:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null - ], - "id": 1558, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "8281:31:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", - "typeString": "tuple(uint256,uint256,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1561, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8330:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1559, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "8315:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollMap", - "nodeType": "MemberAccess", - "referencedDeclaration": 2561, - "src": "8315:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" - } - }, - "id": 1562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8315:22:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" - } - }, - "src": "8281:56:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1564, - "nodeType": "ExpressionStatement", - "src": "8281:56:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1566, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "8359:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1567, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8373:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1568, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1430, - "src": "8381:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 1569, - "name": "commitEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1551, - "src": "8388:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1570, - "name": "revealEndDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1554, - "src": "8403:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1571, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "8418:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8418:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1565, - "name": "_Challenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1035, - "src": "8348:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,string memory,uint256,uint256,address)" - } - }, - "id": 1573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8348:81:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1574, - "nodeType": "ExpressionStatement", - "src": "8348:81:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1575, - "name": "pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1487, - "src": "8442:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1434, - "id": 1576, - "nodeType": "Return", - "src": "8435:13:2" - } - ] - }, - "documentation": "@dev Starts a poll for a listingHash which is either in the apply stage or\nalready in the whitelist. Tokens are taken from the challenger and the\napplicant's deposits are locked.\n@param _listingHash The listingHash being challenged, whether listed or in application\n@param _data Extra data relevant to the challenge. Think IPFS hashes.", - "id": 1578, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "challenge", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1428, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6906:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1427, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6906:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1430, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6928:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1429, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6928:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6905:36:2" - }, - "payable": false, - "returnParameters": { - "id": 1434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1433, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1578, - "src": "6960:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1432, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6960:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6959:18:2" - }, - "scope": 2106, - "src": "6887:1566:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 1605, - "nodeType": "Block", - "src": "8733:217:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1584, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8760:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1583, - "name": "canBeWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1784, - "src": "8743:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8743:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1592, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8857:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1591, - "name": "challengeCanBeResolved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1867, - "src": "8834:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8834:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1602, - "nodeType": "Block", - "src": "8923:23:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1599, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3897, - 3898 - ], - "referencedDeclaration": 3897, - "src": "8931:6:2", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8931:8:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1601, - "nodeType": "ExpressionStatement", - "src": "8931:8:2" - } - ] - }, - "id": 1603, - "nodeType": "IfStatement", - "src": "8830:116:2", - "trueBody": { - "id": 1598, - "nodeType": "Block", - "src": "8872:45:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1595, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8897:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1594, - "name": "resolveChallenge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2028, - "src": "8880:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8880:30:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1597, - "nodeType": "ExpressionStatement", - "src": "8880:30:2" - } - ] - } - }, - "id": 1604, - "nodeType": "IfStatement", - "src": "8739:207:2", - "trueBody": { - "id": 1590, - "nodeType": "Block", - "src": "8775:49:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1587, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "8804:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1586, - "name": "whitelistApplication", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "8783:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8783:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1589, - "nodeType": "ExpressionStatement", - "src": "8783:34:2" - } - ] - } - } - ] - }, - "documentation": "@dev Updates a listingHash's status from 'application' to 'listing' or resolves\na challenge if one exists.\n@param _listingHash The listingHash whose status is being updated", - "id": 1606, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "updateStatus", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1580, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1606, - "src": "8704:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1579, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8704:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8703:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1582, - "nodeType": "ParameterList", - "parameters": [], - "src": "8733:0:2" - }, - "scope": 2106, - "src": "8682:268:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1693, - "nodeType": "Block", - "src": "9419:848:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1614, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "9531:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1616, - "indexExpression": { - "argumentTypes": null, - "id": 1615, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9542:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9531:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "9531:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1620, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1618, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9568:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9568:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9531:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9583:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "9531:57:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1613, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9523:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9523:66:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1624, - "nodeType": "ExpressionStatement", - "src": "9523:66:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1626, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "9603:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1628, - "indexExpression": { - "argumentTypes": null, - "id": 1627, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9614:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9603:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "9603:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9640:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9603:41:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1625, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "9595:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9595:50:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1633, - "nodeType": "ExpressionStatement", - "src": "9595:50:2" - }, - { - "assignments": [ - 1635 - ], - "declarations": [ - { - "constant": false, - "id": 1635, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9652:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1634, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9652:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1643, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1638, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9698:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9698:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1640, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9710:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1641, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "9724:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1636, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "9671:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "9671:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:59:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9652:78:2" - }, - { - "assignments": [ - 1645 - ], - "declarations": [ - { - "constant": false, - "id": 1645, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9736:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1644, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9736:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1652, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1647, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "9762:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9762:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1649, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9774:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1650, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1610, - "src": "9788:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1646, - "name": "voterReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1736, - "src": "9750:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view returns (uint256)" - } - }, - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9750:44:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9736:58:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1653, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "9944:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1655, - "indexExpression": { - "argumentTypes": null, - "id": 1654, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "9955:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9944:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "9944:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1657, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1635, - "src": "9984:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9944:51:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1659, - "nodeType": "ExpressionStatement", - "src": "9944:51:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1660, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10001:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1662, - "indexExpression": { - "argumentTypes": null, - "id": 1661, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "10012:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10001:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "10001:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 1664, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "10040:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10001:45:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1666, - "nodeType": "ExpressionStatement", - "src": "10001:45:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1667, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10102:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1669, - "indexExpression": { - "argumentTypes": null, - "id": 1668, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "10113:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10102:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "10102:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1673, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1671, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10139:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10139:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10102:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10153:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10102:55:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1676, - "nodeType": "ExpressionStatement", - "src": "10102:55:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10187:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10187:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1682, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "10199:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1678, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "10172:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 1679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "10172:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10172:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1677, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "10164:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10164:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1685, - "nodeType": "ExpressionStatement", - "src": "10164:43:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1687, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "10229:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1688, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1645, - "src": "10243:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1689, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "10251:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10251:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1686, - "name": "_RewardClaimed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "10214:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 1691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10214:48:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1692, - "nodeType": "ExpressionStatement", - "src": "10214:48:2" - } - ] - }, - "documentation": "@dev Called by a voter to claim their reward for each completed vote. Someone\nmust call updateStatus() before this can be called.\n@param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n@param _salt The salt of a voter's commit hash in the given poll", - "id": 1694, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "claimReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1608, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9381:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1607, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9381:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1610, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9400:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1609, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9400:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9380:31:2" - }, - "payable": false, - "returnParameters": { - "id": 1612, - "nodeType": "ParameterList", - "parameters": [], - "src": "9419:0:2" - }, - "scope": 2106, - "src": "9360:907:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1735, - "nodeType": "Block", - "src": "10822:258:2", - "statements": [ - { - "assignments": [ - 1706 - ], - "declarations": [ - { - "constant": false, - "id": 1706, - "name": "totalTokens", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10828:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1705, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10828:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1711, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1707, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10847:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1709, - "indexExpression": { - "argumentTypes": null, - "id": 1708, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "10858:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10847:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "10847:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10828:55:2" - }, - { - "assignments": [ - 1713 - ], - "declarations": [ - { - "constant": false, - "id": 1713, - "name": "rewardPool", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10889:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1712, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10889:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1718, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1714, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "10907:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1716, - "indexExpression": { - "argumentTypes": null, - "id": 1715, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "10918:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10907:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "10907:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10889:53:2" - }, - { - "assignments": [ - 1720 - ], - "declarations": [ - { - "constant": false, - "id": 1720, - "name": "voterTokens", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10948:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1719, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10948:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1727, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1723, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1696, - "src": "10994:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1724, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1698, - "src": "11002:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1725, - "name": "_salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1700, - "src": "11016:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1721, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "10967:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getNumPassingTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 3065, - "src": "10967:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) view external returns (uint256)" - } - }, - "id": 1726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10967:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10948:74:2" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1728, - "name": "voterTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1720, - "src": "11036:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1729, - "name": "rewardPool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1713, - "src": "11050:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11036:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1731, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11035:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 1732, - "name": "totalTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1706, - "src": "11064:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11035:40:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1704, - "id": 1734, - "nodeType": "Return", - "src": "11028:47:2" - } - ] - }, - "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The pollID of the challenge a reward balance is being queried for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", - "id": 1736, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "voterReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1696, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10744:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10744:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1698, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10760:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1697, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10760:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1700, - "name": "_salt", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10779:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1699, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10779:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10743:47:2" - }, - "payable": false, - "returnParameters": { - "id": 1704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1736, - "src": "10814:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1702, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10814:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10813:6:2" - }, - "scope": 2106, - "src": "10723:357:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1783, - "nodeType": "Block", - "src": "11318:631:2", - "statements": [ - { - "assignments": [ - 1744 - ], - "declarations": [ - { - "constant": false, - "id": 1744, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "11324:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1743, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "11324:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1749, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1745, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "11343:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1747, - "indexExpression": { - "argumentTypes": null, - "id": 1746, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11352:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11343:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "11343:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11324:53:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1751, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11650:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1750, - "name": "appWasMade", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "11639:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11639:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1753, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "11710:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1755, - "indexExpression": { - "argumentTypes": null, - "id": 1754, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11719:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11710:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "11710:40:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 1757, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "11753:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11710:46:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11639:117:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 1763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11803:28:2", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1761, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1738, - "src": "11818:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1760, - "name": "isWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1797, - "src": "11804:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11804:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11639:192:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1765, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "11842:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11857:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11842:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1768, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "11862:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1770, - "indexExpression": { - "argumentTypes": null, - "id": 1769, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1744, - "src": "11873:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11862:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "11862:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11898:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "11862:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11842:60:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1775, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11841:62:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11639:264:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1780, - "nodeType": "IfStatement", - "src": "11591:335:2", - "trueBody": { - "id": 1779, - "nodeType": "Block", - "src": "11910:16:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11919:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1742, - "id": 1778, - "nodeType": "Return", - "src": "11912:11:2" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11939:5:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1742, - "id": 1782, - "nodeType": "Return", - "src": "11932:12:2" - } - ] - }, - "documentation": "@dev Determines whether the given listingHash be whitelisted.\n@param _listingHash The listingHash whose status is to be examined", - "id": 1784, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "canBeWhitelisted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1738, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "11269:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1737, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11269:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11268:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1741, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1784, - "src": "11312:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1740, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11312:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11311:6:2" - }, - "scope": 2106, - "src": "11243:706:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1796, - "nodeType": "Block", - "src": "12195:52:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1791, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12208:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1793, - "indexExpression": { - "argumentTypes": null, - "id": 1792, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1786, - "src": "12217:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12208:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "12208:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1790, - "id": 1795, - "nodeType": "Return", - "src": "12201:41:2" - } - ] - }, - "documentation": "@dev Returns true if the provided listingHash is whitelisted\n@param _listingHash The listingHash whose status is to be examined", - "id": 1797, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isWhitelisted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1786, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1797, - "src": "12134:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1785, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12134:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12133:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1789, - "name": "whitelisted", - "nodeType": "VariableDeclaration", - "scope": 1797, - "src": "12177:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1788, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12177:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12176:18:2" - }, - "scope": 2106, - "src": "12111:136:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1811, - "nodeType": "Block", - "src": "12483:62:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1804, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12496:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1806, - "indexExpression": { - "argumentTypes": null, - "id": 1805, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1799, - "src": "12505:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12496:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "applicationExpiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "12496:40:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12539:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12496:44:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1803, - "id": 1810, - "nodeType": "Return", - "src": "12489:51:2" - } - ] - }, - "documentation": "@dev Returns true if apply was called for this listingHash\n@param _listingHash The listingHash whose status is to be examined", - "id": 1812, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "appWasMade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1799, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1812, - "src": "12427:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1798, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12427:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12426:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1802, - "name": "exists", - "nodeType": "VariableDeclaration", - "scope": 1812, - "src": "12470:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1801, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12470:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12469:13:2" - }, - "scope": 2106, - "src": "12407:138:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1840, - "nodeType": "Block", - "src": "12797:155:2", - "statements": [ - { - "assignments": [ - 1820 - ], - "declarations": [ - { - "constant": false, - "id": 1820, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1841, - "src": "12803:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1819, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "12803:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1825, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1821, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12822:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1823, - "indexExpression": { - "argumentTypes": null, - "id": 1822, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1814, - "src": "12831:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12822:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1824, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "12822:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12803:53:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1826, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12871:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1828, - "indexExpression": { - "argumentTypes": null, - "id": 1827, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1814, - "src": "12880:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12871:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "12871:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12908:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12871:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "id": 1836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12913:33:2", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1832, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "12914:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1834, - "indexExpression": { - "argumentTypes": null, - "id": 1833, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "12925:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12914:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "12914:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12871:75:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1838, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12870:77:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1818, - "id": 1839, - "nodeType": "Return", - "src": "12863:84:2" - } - ] - }, - "documentation": "@dev Returns true if the application/listingHash has an unresolved challenge\n@param _listingHash The listingHash whose status is to be examined", - "id": 1841, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeExists", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1815, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1814, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1841, - "src": "12748:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1813, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12748:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12747:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1817, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1841, - "src": "12791:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1816, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12791:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12790:6:2" - }, - "scope": 2106, - "src": "12723:229:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1866, - "nodeType": "Block", - "src": "13268:152:2", - "statements": [ - { - "assignments": [ - 1849 - ], - "declarations": [ - { - "constant": false, - "id": 1849, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 1867, - "src": "13274:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1848, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13274:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1854, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1850, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "13293:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1852, - "indexExpression": { - "argumentTypes": null, - "id": 1851, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "13302:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13293:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1853, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "13293:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13274:53:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1857, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "13358:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1856, - "name": "challengeExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1841, - "src": "13342:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13342:29:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1855, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13334:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13334:38:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1860, - "nodeType": "ExpressionStatement", - "src": "13334:38:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1863, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1849, - "src": "13403:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1861, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "13386:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollEnded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3207, - "src": "13386:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 1864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13386:29:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1847, - "id": 1865, - "nodeType": "Return", - "src": "13379:36:2" - } - ] - }, - "documentation": "@dev Determines whether voting has concluded in a challenge for a given\nlistingHash. Throws if no challenge exists.\n@param _listingHash A listingHash with an unresolved challenge", - "id": 1867, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "challengeCanBeResolved", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1843, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 1867, - "src": "13219:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1842, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13219:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13218:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1846, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1867, - "src": "13262:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13262:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13261:6:2" - }, - "scope": 2106, - "src": "13187:233:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1915, - "nodeType": "Block", - "src": "13669:375:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13683:34:2", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1875, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "13684:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1877, - "indexExpression": { - "argumentTypes": null, - "id": 1876, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13695:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13684:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "13684:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1882, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13738:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1880, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "13721:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pollEnded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3207, - "src": "13721:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13721:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13683:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1874, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "13675:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13675:77:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1886, - "nodeType": "ExpressionStatement", - "src": "13675:77:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1889, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13876:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1887, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "13830:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "13830:45:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 1890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13830:59:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13893:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13830:64:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1901, - "nodeType": "IfStatement", - "src": "13826:126:2", - "trueBody": { - "id": 1900, - "nodeType": "Block", - "src": "13896:56:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13911:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1894, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "13915:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1896, - "indexExpression": { - "argumentTypes": null, - "id": 1895, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13926:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13915:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 1125, - "src": "13915:30:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13911:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1873, - "id": 1899, - "nodeType": "Return", - "src": "13904:41:2" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13966:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1903, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "13970:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1905, - "indexExpression": { - "argumentTypes": null, - "id": 1904, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "13981:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13970:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stake", - "nodeType": "MemberAccess", - "referencedDeclaration": 1125, - "src": "13970:30:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13966:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1908, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13965:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1909, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "14004:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1911, - "indexExpression": { - "argumentTypes": null, - "id": 1910, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "14015:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14004:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "14004:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13965:74:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1873, - "id": 1914, - "nodeType": "Return", - "src": "13958:81:2" - } - ] - }, - "documentation": "@dev Determines the number of tokens awarded to the winning party in a challenge.\n@param _challengeID The challengeID to determine a reward for", - "id": 1916, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "determineReward", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1869, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "13623:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1868, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13623:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13622:19:2" - }, - "payable": false, - "returnParameters": { - "id": 1873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1872, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "13663:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1871, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13663:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13662:6:2" - }, - "scope": 2106, - "src": "13598:446:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1932, - "nodeType": "Block", - "src": "14342:62:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1925, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "14355:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1927, - "indexExpression": { - "argumentTypes": null, - "id": 1926, - "name": "_challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1918, - "src": "14366:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14355:24:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenClaims", - "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "14355:36:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1930, - "indexExpression": { - "argumentTypes": null, - "id": 1929, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1920, - "src": "14392:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14355:44:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1924, - "id": 1931, - "nodeType": "Return", - "src": "14348:51:2" - } - ] - }, - "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", - "id": 1933, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "tokenClaims", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1918, - "name": "_challengeID", - "nodeType": "VariableDeclaration", - "scope": 1933, - "src": "14280:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1917, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14280:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1920, - "name": "_voter", - "nodeType": "VariableDeclaration", - "scope": 1933, - "src": "14299:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1919, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14299:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14279:35:2" - }, - "payable": false, - "returnParameters": { - "id": 1924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1923, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1933, - "src": "14336:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1922, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14336:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14335:6:2" - }, - "scope": 2106, - "src": "14259:145:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2027, - "nodeType": "Block", - "src": "14784:1218:2", - "statements": [ - { - "assignments": [ - 1939 - ], - "declarations": [ - { - "constant": false, - "id": 1939, - "name": "challengeID", - "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "14790:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1938, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14790:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1944, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1940, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "14809:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1942, - "indexExpression": { - "argumentTypes": null, - "id": 1941, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "14818:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14809:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challengeID", - "nodeType": "MemberAccess", - "referencedDeclaration": 1116, - "src": "14809:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14790:53:2" - }, - { - "assignments": [ - 1946 - ], - "declarations": [ - { - "constant": false, - "id": 1946, - "name": "reward", - "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "14964:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1945, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "14964:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1950, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1948, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "14994:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1947, - "name": "determineReward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1916, - "src": "14978:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14978:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14964:42:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1951, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15059:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1953, - "indexExpression": { - "argumentTypes": null, - "id": 1952, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15070:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15059:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1123, - "src": "15059:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15094:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "15059:39:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1957, - "nodeType": "ExpressionStatement", - "src": "15059:39:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1958, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15192:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1960, - "indexExpression": { - "argumentTypes": null, - "id": 1959, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15203:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15192:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1961, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "15192:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1964, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15276:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1962, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "15230:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getTotalNumberOfTokensForWinningOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 3186, - "src": "15230:45:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15230:58:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15192:96:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1967, - "nodeType": "ExpressionStatement", - "src": "15192:96:2" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1970, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15345:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1968, - "name": "voting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "15329:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PLCRVoting_$3488", - "typeString": "contract PLCRVoting" - } - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isPassed", - "nodeType": "MemberAccess", - "referencedDeclaration": 3158, - "src": "15329:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15329:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2025, - "nodeType": "Block", - "src": "15662:336:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1998, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15728:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1997, - "name": "resetListing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2105, - "src": "15715:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15715:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2000, - "nodeType": "ExpressionStatement", - "src": "15715:26:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2004, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15819:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 2006, - "indexExpression": { - "argumentTypes": null, - "id": 2005, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15830:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15819:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 2007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "challenger", - "nodeType": "MemberAccess", - "referencedDeclaration": 1121, - "src": "15819:34:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2008, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1946, - "src": "15855:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2002, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15804:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "15804:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15804:58:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2001, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "15796:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15796:67:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2011, - "nodeType": "ExpressionStatement", - "src": "15796:67:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2013, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15892:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 2014, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15906:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2015, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15919:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 2017, - "indexExpression": { - "argumentTypes": null, - "id": 2016, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15930:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15919:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 2018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "15919:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2019, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15955:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 2021, - "indexExpression": { - "argumentTypes": null, - "id": 2020, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15966:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15955:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 2022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "15955:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2012, - "name": "_ChallengeSucceeded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1095, - "src": "15872:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 2023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15872:119:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2024, - "nodeType": "ExpressionStatement", - "src": "15872:119:2" - } - ] - }, - "id": 2026, - "nodeType": "IfStatement", - "src": "15325:673:2", - "trueBody": { - "id": 1996, - "nodeType": "Block", - "src": "15359:297:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1973, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15388:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1972, - "name": "whitelistApplication", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "15367:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15367:34:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1975, - "nodeType": "ExpressionStatement", - "src": "15367:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1976, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "15476:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 1978, - "indexExpression": { - "argumentTypes": null, - "id": 1977, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15485:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15476:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 1979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "15476:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 1980, - "name": "reward", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1946, - "src": "15518:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15476:48:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1982, - "nodeType": "ExpressionStatement", - "src": "15476:48:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1984, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1935, - "src": "15550:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1985, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15564:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1986, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15577:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1988, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15588:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15577:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "rewardPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1119, - "src": "15577:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1990, - "name": "challenges", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "15613:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1132_storage_$", - "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" - } - }, - "id": 1992, - "indexExpression": { - "argumentTypes": null, - "id": 1991, - "name": "challengeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1939, - "src": "15624:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15613:23:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Challenge_$1132_storage", - "typeString": "struct Registry.Challenge storage ref" - } - }, - "id": 1993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 1127, - "src": "15613:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1983, - "name": "_ChallengeFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "15533:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,uint256)" - } - }, - "id": 1994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15533:116:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1995, - "nodeType": "ExpressionStatement", - "src": "15533:116:2" - } - ] - } - } - ] - }, - "documentation": "@dev Determines the winner in a challenge. Rewards the winner tokens and\neither whitelists or de-whitelists the listingHash.\n@param _listingHash A listingHash with a challenge that is to be resolved", - "id": 2028, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resolveChallenge", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1935, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "14754:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1934, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14754:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14753:22:2" - }, - "payable": false, - "returnParameters": { - "id": 1937, - "nodeType": "ParameterList", - "parameters": [], - "src": "14784:0:2" - }, - "scope": 2106, - "src": "14728:1274:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 2051, - "nodeType": "Block", - "src": "16396:140:2", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 2037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "16406:35:2", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2033, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "16407:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2035, - "indexExpression": { - "argumentTypes": null, - "id": 2034, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "16416:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16407:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 2036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "16407:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2043, - "nodeType": "IfStatement", - "src": "16402:83:2", - "trueBody": { - "id": 2042, - "nodeType": "Block", - "src": "16443:42:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2039, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "16469:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2038, - "name": "_ApplicationWhitelisted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "16445:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 2040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16445:37:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2041, - "nodeType": "ExpressionStatement", - "src": "16445:37:2" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2044, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "16490:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2046, - "indexExpression": { - "argumentTypes": null, - "id": 2045, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2030, - "src": "16499:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16490:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "id": 2047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "16490:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2048, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16527:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16490:41:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2050, - "nodeType": "ExpressionStatement", - "src": "16490:41:2" - } - ] - }, - "documentation": "@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made. Called by resolveChallenge() if an\napplication/listing beat a challenge.\n@param _listingHash The listingHash of an application/listingHash to be whitelisted", - "id": 2052, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "whitelistApplication", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2030, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 2052, - "src": "16366:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2029, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16366:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16365:22:2" - }, - "payable": false, - "returnParameters": { - "id": 2032, - "nodeType": "ParameterList", - "parameters": [], - "src": "16396:0:2" - }, - "scope": 2106, - "src": "16336:200:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 2104, - "nodeType": "Block", - "src": "16750:579:2", - "statements": [ - { - "assignments": [ - 2058 - ], - "declarations": [ - { - "constant": false, - "id": 2058, - "name": "listing", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "16756:23:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - }, - "typeName": { - "contractScope": null, - "id": 2057, - "name": "Listing", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1117, - "src": "16756:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2062, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2059, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "16782:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2061, - "indexExpression": { - "argumentTypes": null, - "id": 2060, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "16791:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16782:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16756:48:2" - }, - { - "condition": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2063, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "16890:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 2064, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "whitelisted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1110, - "src": "16890:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2074, - "nodeType": "Block", - "src": "16961:48:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2071, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "16989:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2070, - "name": "_ApplicationRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "16969:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16969:33:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2073, - "nodeType": "ExpressionStatement", - "src": "16969:33:2" - } - ] - }, - "id": 2075, - "nodeType": "IfStatement", - "src": "16886:123:2", - "trueBody": { - "id": 2069, - "nodeType": "Block", - "src": "16911:44:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2066, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "16935:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2065, - "name": "_ListingRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "16919:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16919:29:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2068, - "nodeType": "ExpressionStatement", - "src": "16919:29:2" - } - ] - } - }, - { - "assignments": [ - 2077 - ], - "declarations": [ - { - "constant": false, - "id": 2077, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "17058:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17058:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2080, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2078, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "17074:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 2079, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 1112, - "src": "17074:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17058:29:2" - }, - { - "assignments": [ - 2082 - ], - "declarations": [ - { - "constant": false, - "id": 2082, - "name": "unstakedDeposit", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "17093:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2081, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "17093:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2085, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2083, - "name": "listing", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2058, - "src": "17116:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage_ptr", - "typeString": "struct Registry.Listing storage pointer" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unstakedDeposit", - "nodeType": "MemberAccess", - "referencedDeclaration": 1114, - "src": "17116:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17093:46:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "17145:29:2", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2086, - "name": "listings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "17152:8:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1117_storage_$", - "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" - } - }, - "id": 2088, - "indexExpression": { - "argumentTypes": null, - "id": 2087, - "name": "_listingHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2054, - "src": "17161:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17152:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Listing_$1117_storage", - "typeString": "struct Registry.Listing storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2090, - "nodeType": "ExpressionStatement", - "src": "17145:29:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2091, - "name": "unstakedDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2082, - "src": "17242:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17260:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17242:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2103, - "nodeType": "IfStatement", - "src": "17238:87:2", - "trueBody": { - "id": 2102, - "nodeType": "Block", - "src": "17263:62:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2097, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2077, - "src": "17294:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2098, - "name": "unstakedDeposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2082, - "src": "17301:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2095, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "17279:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP20Interface_$3782", - "typeString": "contract EIP20Interface" - } - }, - "id": 2096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 3736, - "src": "17279:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17279:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2094, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3895, - 3896 - ], - "referencedDeclaration": 3895, - "src": "17271:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17271:47:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2101, - "nodeType": "ExpressionStatement", - "src": "17271:47:2" - } - ] - } - } - ] - }, - "documentation": "@dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n@param _listingHash The listing hash to delete", - "id": 2105, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "resetListing", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2054, - "name": "_listingHash", - "nodeType": "VariableDeclaration", - "scope": 2105, - "src": "16720:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2053, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16720:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16719:22:2" - }, - "payable": false, - "returnParameters": { - "id": 2056, - "nodeType": "ParameterList", - "parameters": [], - "src": "16750:0:2" - }, - "scope": 2106, - "src": "16698:631:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 2107, - "src": "171:17160:2" - } - ], - "src": "0:17332:2" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.094Z" -} \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json deleted file mode 100644 index 0f621a1..0000000 --- a/build/contracts/SafeMath.json +++ /dev/null @@ -1,2439 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208170eaf98da5cd96ea0bcda1a8efa5aef7150887c3ab19452daf0ca88af81d270029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058208170eaf98da5cd96ea0bcda1a8efa5aef7150887c3ab19452daf0ca88af81d270029", - "sourceMap": "117:698:8:-;;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": "117:698:8:-;;;;;;;;", - "source": "pragma solidity ^0.4.11;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n function mul(uint256 a, uint256 b) internal constant returns (uint256) {\n uint256 c = a * b;\n assert(a == 0 || c / a == b);\n return c;\n }\n\n function div(uint256 a, uint256 b) internal constant returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return c;\n }\n\n function sub(uint256 a, uint256 b) internal constant returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n function add(uint256 a, uint256 b) internal constant returns (uint256) {\n uint256 c = a + b;\n assert(c >= a);\n return c;\n }\n}\n", - "sourcePath": "zeppelin/math/SafeMath.sol", - "ast": { - "absolutePath": "zeppelin/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 3877 - ] - }, - "id": 3878, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3784, - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", - "fullyImplemented": true, - "id": 3877, - "linearizedBaseContracts": [ - 3877 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3813, - "nodeType": "Block", - "src": "209:76:8", - "statements": [ - { - "assignments": [ - 3794 - ], - "declarations": [ - { - "constant": false, - "id": 3794, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "215:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "215:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3798, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3795, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "227:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3796, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "231:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "227:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "215:17:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3800, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "245:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "250:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "245:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3803, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "255:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3804, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "259:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "255:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3806, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "264:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "255:10:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "245:20:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3799, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "238:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "238:28:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3810, - "nodeType": "ExpressionStatement", - "src": "238:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 3811, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "279:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3792, - "id": 3812, - "nodeType": "Return", - "src": "272:8:8" - } - ] - }, - "documentation": null, - "id": 3814, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3786, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "151:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "151:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3788, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "162:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "162:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "150:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "200:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "199:9:8" - }, - "scope": 3877, - "src": "138:147:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3831, - "nodeType": "Block", - "src": "360:198:8", - "statements": [ - { - "assignments": [ - 3824 - ], - "declarations": [ - { - "constant": false, - "id": 3824, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "440:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3828, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3825, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3816, - "src": "452:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3826, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3818, - "src": "456:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "452:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "440:17:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 3829, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "552:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3822, - "id": 3830, - "nodeType": "Return", - "src": "545:8:8" - } - ] - }, - "documentation": null, - "id": 3832, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3816, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "302:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "302:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3818, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "313:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "301:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3821, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "351:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "351:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "350:9:8" - }, - "scope": 3877, - "src": "289:269:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3851, - "nodeType": "Block", - "src": "633:43:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3842, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "646:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3843, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3834, - "src": "651:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "646:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3841, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "639:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "639:14:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3846, - "nodeType": "ExpressionStatement", - "src": "639:14:8" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3847, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3834, - "src": "666:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3848, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "670:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "666:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3840, - "id": 3850, - "nodeType": "Return", - "src": "659:12:8" - } - ] - }, - "documentation": null, - "id": 3852, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3837, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3834, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "575:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "575:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3836, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "586:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "586:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "574:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3839, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "624:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "623:9:8" - }, - "scope": 3877, - "src": "562:114:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3875, - "nodeType": "Block", - "src": "751:62:8", - "statements": [ - { - "assignments": [ - 3862 - ], - "declarations": [ - { - "constant": false, - "id": 3862, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "757:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "757:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3863, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3854, - "src": "769:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3864, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3856, - "src": "773:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "769:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "757:17:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3868, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "787:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3869, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3854, - "src": "792:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3867, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "780:14:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3872, - "nodeType": "ExpressionStatement", - "src": "780:14:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 3873, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "807:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3860, - "id": 3874, - "nodeType": "Return", - "src": "800:8:8" - } - ] - }, - "documentation": null, - "id": 3876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3854, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "693:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "693:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3856, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "704:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "692:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3859, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "742:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "742:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "741:9:8" - }, - "scope": 3877, - "src": "680:133:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3878, - "src": "117:698:8" - } - ], - "src": "0:816:8" - }, - "legacyAST": { - "absolutePath": "zeppelin/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 3877 - ] - }, - "id": 3878, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3784, - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", - "fullyImplemented": true, - "id": 3877, - "linearizedBaseContracts": [ - 3877 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3813, - "nodeType": "Block", - "src": "209:76:8", - "statements": [ - { - "assignments": [ - 3794 - ], - "declarations": [ - { - "constant": false, - "id": 3794, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "215:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "215:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3798, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3795, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "227:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3796, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "231:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "227:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "215:17:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3800, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "245:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "250:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "245:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3803, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "255:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3804, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "259:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "255:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3806, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "264:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "255:10:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "245:20:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3799, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "238:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "238:28:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3810, - "nodeType": "ExpressionStatement", - "src": "238:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 3811, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "279:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3792, - "id": 3812, - "nodeType": "Return", - "src": "272:8:8" - } - ] - }, - "documentation": null, - "id": 3814, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3786, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "151:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "151:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3788, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "162:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "162:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "150:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3814, - "src": "200:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "199:9:8" - }, - "scope": 3877, - "src": "138:147:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3831, - "nodeType": "Block", - "src": "360:198:8", - "statements": [ - { - "assignments": [ - 3824 - ], - "declarations": [ - { - "constant": false, - "id": 3824, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "440:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3828, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3825, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3816, - "src": "452:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3826, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3818, - "src": "456:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "452:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "440:17:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 3829, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3824, - "src": "552:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3822, - "id": 3830, - "nodeType": "Return", - "src": "545:8:8" - } - ] - }, - "documentation": null, - "id": 3832, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3816, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "302:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "302:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3818, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "313:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "301:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3821, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3832, - "src": "351:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "351:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "350:9:8" - }, - "scope": 3877, - "src": "289:269:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3851, - "nodeType": "Block", - "src": "633:43:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3842, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "646:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3843, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3834, - "src": "651:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "646:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3841, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "639:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "639:14:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3846, - "nodeType": "ExpressionStatement", - "src": "639:14:8" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3847, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3834, - "src": "666:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3848, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "670:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "666:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3840, - "id": 3850, - "nodeType": "Return", - "src": "659:12:8" - } - ] - }, - "documentation": null, - "id": 3852, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3837, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3834, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "575:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "575:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3836, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "586:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "586:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "574:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3839, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3852, - "src": "624:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "623:9:8" - }, - "scope": 3877, - "src": "562:114:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3875, - "nodeType": "Block", - "src": "751:62:8", - "statements": [ - { - "assignments": [ - 3862 - ], - "declarations": [ - { - "constant": false, - "id": 3862, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "757:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "757:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3866, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3863, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3854, - "src": "769:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3864, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3856, - "src": "773:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "769:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "757:17:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3868, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "787:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3869, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3854, - "src": "792:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3867, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3881, - "src": "780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "780:14:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3872, - "nodeType": "ExpressionStatement", - "src": "780:14:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 3873, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "807:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3860, - "id": 3874, - "nodeType": "Return", - "src": "800:8:8" - } - ] - }, - "documentation": null, - "id": 3876, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3854, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "693:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "693:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3856, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "704:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "692:22:8" - }, - "payable": false, - "returnParameters": { - "id": 3860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3859, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3876, - "src": "742:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "742:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "741:9:8" - }, - "scope": 3877, - "src": "680:133:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3878, - "src": "117:698:8" - } - ], - "src": "0:816:8" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.1", - "updatedAt": "2018-06-20T22:39:18.106Z" -} \ No newline at end of file diff --git a/contracts/AttributeStore.sol b/contracts/AttributeStore.sol new file mode 100644 index 0000000..6fd14cb --- /dev/null +++ b/contracts/AttributeStore.sol @@ -0,0 +1,25 @@ +pragma solidity 0.4.24; + + +library AttributeStore { + struct Data { + mapping(bytes32 => uint) store; + } + + function getAttribute(Data storage self, bytes32 _UUID, string _attrName) + public view returns (uint) + { + bytes32 key = keccak256(_UUID, _attrName); + return self.store[key]; + } + + function setAttribute( + Data storage self, + bytes32 _UUID, + string _attrName, + uint _attrVal) public + { + bytes32 key = keccak256(_UUID, _attrName); + self.store[key] = _attrVal; + } +} diff --git a/contracts/C-Token.sol b/contracts/C-Token.sol deleted file mode 100644 index 0566c65..0000000 --- a/contracts/C-Token.sol +++ /dev/null @@ -1,13 +0,0 @@ -/** - * A placeholder token that, for now simply serves as a lever to force the - * tokens/eip20/EIP20 to build and be available to the js repo - */ - -pragma solidity 0.4.24; - -import "tokens/eip20/EIP20.sol"; - - -contract CToken is EIP20 { - -} diff --git a/contracts/ConstructableToken.sol b/contracts/ConstructableToken.sol new file mode 100644 index 0000000..7ce3473 --- /dev/null +++ b/contracts/ConstructableToken.sol @@ -0,0 +1,21 @@ +pragma solidity 0.4.24; + +import "./StandardToken.sol"; + + +/** + * A subclass of the Open Zeppelin StandardToken with a constructor. + * + * NOTE: This is essentially what O.Z. refers to as a "StandardTokenMock". + * We feel that it is just a subclass that belongs with the other contracts + */ +contract ConstructableToken is StandardToken { + + constructor(address initialAccount, uint256 initialBalance) public { + balances[initialAccount] = initialBalance; + totalSupply_ = initialBalance; + } + +} + + diff --git a/contracts/DLL.sol b/contracts/DLL.sol new file mode 100644 index 0000000..c896bdc --- /dev/null +++ b/contracts/DLL.sol @@ -0,0 +1,91 @@ +pragma solidity 0.4.24; + + +library DLL { + + uint constant NULL_NODE_ID = 0; + + struct Node { + uint next; + uint prev; + } + + struct Data { + mapping(uint => Node) dll; + } + + function isEmpty(Data storage self) public view returns (bool) { + return getStart(self) == NULL_NODE_ID; + } + + function contains(Data storage self, uint _curr) public view returns (bool) { + if (isEmpty(self) || _curr == NULL_NODE_ID) { + return false; + } + + bool isSingleNode = (getStart(self) == _curr) && (getEnd(self) == _curr); + bool isNullNode = (getNext(self, _curr) == NULL_NODE_ID) && (getPrev(self, _curr) == NULL_NODE_ID); + return isSingleNode || !isNullNode; + } + + function getNext(Data storage self, uint _curr) public view returns (uint) { + return self.dll[_curr].next; + } + + function getPrev(Data storage self, uint _curr) public view returns (uint) { + return self.dll[_curr].prev; + } + + function getStart(Data storage self) public view returns (uint) { + return getNext(self, NULL_NODE_ID); + } + + function getEnd(Data storage self) public view returns (uint) { + return getPrev(self, NULL_NODE_ID); + } + + /** + @dev Inserts a new node between _prev and _next. When inserting a node already existing in + the list it will be automatically removed from the old position. + @param _prev the node which _new will be inserted after + @param _curr the id of the new node being inserted + @param _next the node which _new will be inserted before + */ + function insert( + Data storage self, + uint _prev, + uint _curr, + uint _next + ) public + { + require(_curr != NULL_NODE_ID); + + remove(self, _curr); + + require(_prev == NULL_NODE_ID || contains(self, _prev)); + require(_next == NULL_NODE_ID || contains(self, _next)); + + require(getNext(self, _prev) == _next); + require(getPrev(self, _next) == _prev); + + self.dll[_curr].prev = _prev; + self.dll[_curr].next = _next; + + self.dll[_prev].next = _curr; + self.dll[_next].prev = _curr; + } + + function remove(Data storage self, uint _curr) public { + if (!contains(self, _curr)) { + return; + } + + uint next = getNext(self, _curr); + uint prev = getPrev(self, _curr); + + self.dll[next].prev = prev; + self.dll[prev].next = next; + + delete self.dll[_curr]; + } +} diff --git a/contracts/ERC20.sol b/contracts/ERC20.sol new file mode 100644 index 0000000..51ae67a --- /dev/null +++ b/contracts/ERC20.sol @@ -0,0 +1,23 @@ +pragma solidity 0.4.24; + +import "./ERC20Basic.sol"; + + +/** + * @title ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/20 + */ +contract ERC20 is ERC20Basic { + function allowance(address owner, address spender) + public view returns (uint256); + + function transferFrom(address from, address to, uint256 value) + public returns (bool); + + function approve(address spender, uint256 value) public returns (bool); + event Approval( + address indexed owner, + address indexed spender, + uint256 value + ); +} diff --git a/contracts/ERC20Basic.sol b/contracts/ERC20Basic.sol new file mode 100644 index 0000000..a7c859c --- /dev/null +++ b/contracts/ERC20Basic.sol @@ -0,0 +1,14 @@ +pragma solidity 0.4.24; + + +/** + * @title ERC20Basic + * @dev Simpler version of ERC20 interface + * See https://github.com/ethereum/EIPs/issues/179 + */ +contract ERC20Basic { + function totalSupply() public view returns (uint256); + function balanceOf(address who) public view returns (uint256); + function transfer(address to, uint256 value) public returns (bool); + event Transfer(address indexed from, address indexed to, uint256 value); +} diff --git a/contracts/PLCRVoting.sol b/contracts/PLCRVoting.sol new file mode 100644 index 0000000..842b41b --- /dev/null +++ b/contracts/PLCRVoting.sol @@ -0,0 +1,466 @@ +pragma solidity 0.4.24; + +import "./ERC20.sol"; +import "./DLL.sol"; +import "./AttributeStore.sol"; +import "./SafeMath.sol"; + + +/** +@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens +@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes +*/ +contract PLCRVoting { + + // ============ + // EVENTS: + // ============ + + event _VoteCommitted(uint indexed pollID, uint numTokens, address indexed voter); + event _VoteRevealed(uint indexed pollID, uint numTokens, uint votesFor, uint votesAgainst, uint indexed choice, address indexed voter); + event _PollCreated(uint voteQuorum, uint commitEndDate, uint revealEndDate, uint indexed pollID, address indexed creator); + event _VotingRightsGranted(uint numTokens, address indexed voter); + event _VotingRightsWithdrawn(uint numTokens, address indexed voter); + event _TokensRescued(uint indexed pollID, address indexed voter); + + // ============ + // DATA STRUCTURES: + // ============ + + using AttributeStore for AttributeStore.Data; + using DLL for DLL.Data; + using SafeMath for uint; + + struct Poll { + uint commitEndDate; /// expiration date of commit period for poll + uint revealEndDate; /// expiration date of reveal period for poll + uint voteQuorum; /// number of votes required for a proposal to pass + uint votesFor; /// tally of votes supporting proposal + uint votesAgainst; /// tally of votes countering proposal + mapping(address => bool) didCommit; /// indicates whether an address committed a vote for this poll + mapping(address => bool) didReveal; /// indicates whether an address revealed a vote for this poll + } + + // ============ + // STATE VARIABLES: + // ============ + + uint constant public INITIAL_POLL_NONCE = 0; + uint public pollNonce; + + mapping(uint => Poll) public pollMap; // maps pollID to Poll struct + mapping(address => uint) public voteTokenBalance; // maps user's address to voteToken balance + + mapping(address => DLL.Data) dllMap; + AttributeStore.Data store; + + ERC20 public token; + + // ============ + // CONSTRUCTOR: + // ============ + + /** + @dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping + @param _tokenAddr The address where the ERC20 token contract is deployed + */ + constructor(address _tokenAddr) public { + token = ERC20(_tokenAddr); + pollNonce = INITIAL_POLL_NONCE; + } + + // ================ + // TOKEN INTERFACE: + // ================ + + /** + @notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights + @dev Assumes that msg.sender has approved voting contract to spend on their behalf + @param _numTokens The number of votingTokens desired in exchange for ERC20 tokens + */ + function requestVotingRights(uint _numTokens) external { + require(token.balanceOf(msg.sender) >= _numTokens); + voteTokenBalance[msg.sender] += _numTokens; + require(token.transferFrom(msg.sender, this, _numTokens)); + emit _VotingRightsGranted(_numTokens, msg.sender); + } + + /** + @notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights + @param _numTokens The number of ERC20 tokens desired in exchange for voting rights + */ + function withdrawVotingRights(uint _numTokens) external { + uint availableTokens = voteTokenBalance[msg.sender].sub(getLockedTokens(msg.sender)); + require(availableTokens >= _numTokens); + voteTokenBalance[msg.sender] -= _numTokens; + require(token.transfer(msg.sender, _numTokens)); + emit _VotingRightsWithdrawn(_numTokens, msg.sender); + } + + /** + @dev Unlocks tokens locked in unrevealed vote where poll has ended + @param _pollID Integer identifier associated with the target poll + */ + function rescueTokens(uint _pollID) external { + require(isExpired(pollMap[_pollID].revealEndDate)); + require(dllMap[msg.sender].contains(_pollID)); + + dllMap[msg.sender].remove(_pollID); + emit _TokensRescued(_pollID, msg.sender); + } + + // ================= + // VOTING INTERFACE: + // ================= + + /** + @notice Commits vote using hash of choice and secret salt to conceal vote until reveal + @param _pollID Integer identifier associated with target poll + @param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order) + @param _numTokens The number of tokens to be committed towards the target poll + @param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens + */ + function commitVote( + uint _pollID, + bytes32 _secretHash, + uint _numTokens, + uint _prevPollID + ) external + { + require(commitPeriodActive(_pollID)); + require(voteTokenBalance[msg.sender] >= _numTokens); // prevent user from overspending + require(_pollID != 0); // prevent user from committing to zero node placeholder + + // Check if _prevPollID exists in the user's DLL or if _prevPollID is 0 + require(_prevPollID == 0 || dllMap[msg.sender].contains(_prevPollID)); + + uint nextPollID = dllMap[msg.sender].getNext(_prevPollID); + + // if nextPollID is equal to _pollID, _pollID is being updated, + nextPollID = (nextPollID == _pollID) ? dllMap[msg.sender].getNext(_pollID) : nextPollID; + + require( + validPosition( + _prevPollID, + nextPollID, + msg.sender, + _numTokens + ) + ); + + dllMap[msg.sender].insert(_prevPollID, _pollID, nextPollID); + + bytes32 UUID = attrUUID(msg.sender, _pollID); + + store.setAttribute(UUID, "numTokens", _numTokens); + store.setAttribute(UUID, "commitHash", uint(_secretHash)); + + pollMap[_pollID].didCommit[msg.sender] = true; + emit _VoteCommitted(_pollID, _numTokens, msg.sender); + } + + /** + @dev Compares previous and next poll's committed tokens for sorting purposes + @param _prevID Integer identifier associated with previous poll in sorted order + @param _nextID Integer identifier associated with next poll in sorted order + @param _voter Address of user to check DLL position for + @param _numTokens The number of tokens to be committed towards the poll (used for sorting) + @return valid Boolean indication of if the specified position maintains the sort + */ + function validPosition( + uint _prevID, + uint _nextID, + address _voter, + uint _numTokens + ) public view returns (bool valid) + { + bool prevValid = (_numTokens >= getNumTokens(_voter, _prevID)); + // if next is zero node, _numTokens does not need to be greater + bool nextValid = (_numTokens <= getNumTokens(_voter, _nextID) || _nextID == 0); + return prevValid && nextValid; + } + + /** + @notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens + @param _pollID Integer identifier associated with target poll + @param _voteOption Vote choice used to generate commitHash for associated poll + @param _salt Secret number used to generate commitHash for associated poll + */ + function revealVote(uint _pollID, uint _voteOption, uint _salt) external { + // Make sure the reveal period is active + require(revealPeriodActive(_pollID)); + require(pollMap[_pollID].didCommit[msg.sender]); // make sure user has committed a vote for this poll + require(!pollMap[_pollID].didReveal[msg.sender]); // prevent user from revealing multiple times + require(keccak256(_voteOption, _salt) == getCommitHash(msg.sender, _pollID)); // compare resultant hash from inputs to original commitHash + + uint numTokens = getNumTokens(msg.sender, _pollID); + + if (_voteOption == 1) {// apply numTokens to appropriate poll choice + pollMap[_pollID].votesFor += numTokens; + } else { + pollMap[_pollID].votesAgainst += numTokens; + } + + dllMap[msg.sender].remove(_pollID); // remove the node referring to this vote upon reveal + pollMap[_pollID].didReveal[msg.sender] = true; + + emit _VoteRevealed( + _pollID, + numTokens, + pollMap[_pollID].votesFor, + pollMap[_pollID].votesAgainst, + _voteOption, msg.sender + ); + } + + /** + @param _pollID Integer identifier associated with target poll + @param _salt Arbitrarily chosen integer used to generate secretHash + @return correctVotes Number of tokens voted for winning option + */ + function getNumPassingTokens(address _voter, uint _pollID, uint _salt) public view returns (uint correctVotes) { + require(pollEnded(_pollID)); + require(pollMap[_pollID].didReveal[_voter]); + + uint winningChoice = isPassed(_pollID) ? 1 : 0; + bytes32 winnerHash = keccak256(winningChoice, _salt); + bytes32 commitHash = getCommitHash(_voter, _pollID); + + require(winnerHash == commitHash); + + return getNumTokens(_voter, _pollID); + } + + // ================== + // POLLING INTERFACE: + // ================== + + /** + @dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event + @param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful + @param _commitDuration Length of desired commit period in seconds + @param _revealDuration Length of desired reveal period in seconds + */ + function startPoll(uint _voteQuorum, uint _commitDuration, uint _revealDuration) public returns (uint pollID) { + pollNonce = pollNonce + 1; + + uint commitEndDate = block.timestamp.add(_commitDuration); + uint revealEndDate = commitEndDate.add(_revealDuration); + + pollMap[pollNonce] = Poll({ + voteQuorum: _voteQuorum, + commitEndDate: commitEndDate, + revealEndDate: revealEndDate, + votesFor: 0, + votesAgainst: 0 + }); + + emit _PollCreated( + _voteQuorum, + commitEndDate, + revealEndDate, + pollNonce, + msg.sender + ); + + return pollNonce; + } + + /** + @notice Determines if proposal has passed + @dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded) + @param _pollID Integer identifier associated with target poll + */ + function isPassed(uint _pollID) view public returns (bool passed) { + require(pollEnded(_pollID)); + + Poll memory poll = pollMap[_pollID]; + return (100 * poll.votesFor) > (poll.voteQuorum * (poll.votesFor + poll.votesAgainst)); + } + + // ---------------- + // POLLING HELPERS: + // ---------------- + + /** + @dev Gets the total winning votes for reward distribution purposes + @param _pollID Integer identifier associated with target poll + @return Total number of votes committed to the winning option for specified poll + */ + function getTotalNumberOfTokensForWinningOption(uint _pollID) view public returns (uint numTokens) { + require(pollEnded(_pollID)); + + if (isPassed(_pollID)) + return pollMap[_pollID].votesFor; + else + return pollMap[_pollID].votesAgainst; + } + + /** + @notice Determines if poll is over + @dev Checks isExpired for specified poll's revealEndDate + @return Boolean indication of whether polling period is over + */ + function pollEnded(uint _pollID) view public returns (bool ended) { + require(pollExists(_pollID)); + + return isExpired(pollMap[_pollID].revealEndDate); + } + + /** + @notice Checks if the commit period is still active for the specified poll + @dev Checks isExpired for the specified poll's commitEndDate + @param _pollID Integer identifier associated with target poll + @return Boolean indication of isCommitPeriodActive for target poll + */ + function commitPeriodActive(uint _pollID) view public returns (bool active) { + require(pollExists(_pollID)); + + return !isExpired(pollMap[_pollID].commitEndDate); + } + + /** + @notice Checks if the reveal period is still active for the specified poll + @dev Checks isExpired for the specified poll's revealEndDate + @param _pollID Integer identifier associated with target poll + */ + function revealPeriodActive(uint _pollID) view public returns (bool active) { + require(pollExists(_pollID)); + + return !isExpired(pollMap[_pollID].revealEndDate) && !commitPeriodActive(_pollID); + } + + /** + @dev Checks if user has committed for specified poll + @param _voter Address of user to check against + @param _pollID Integer identifier associated with target poll + @return Boolean indication of whether user has committed + */ + function didCommit(address _voter, uint _pollID) view public returns (bool committed) { + require(pollExists(_pollID)); + + return pollMap[_pollID].didCommit[_voter]; + } + + /** + @dev Checks if user has revealed for specified poll + @param _voter Address of user to check against + @param _pollID Integer identifier associated with target poll + @return Boolean indication of whether user has revealed + */ + function didReveal(address _voter, uint _pollID) view public returns (bool revealed) { + require(pollExists(_pollID)); + + return pollMap[_pollID].didReveal[_voter]; + } + + /** + @dev Checks if a poll exists + @param _pollID The pollID whose existance is to be evaluated. + @return Boolean Indicates whether a poll exists for the provided pollID + */ + function pollExists(uint _pollID) view public returns (bool exists) { + return (_pollID != 0 && _pollID <= pollNonce); + } + + // --------------------------- + // DOUBLE-LINKED-LIST HELPERS: + // --------------------------- + + /** + @dev Gets the bytes32 commitHash property of target poll + @param _voter Address of user to check against + @param _pollID Integer identifier associated with target poll + @return Bytes32 hash property attached to target poll + */ + function getCommitHash(address _voter, uint _pollID) view public returns (bytes32 commitHash) { + return bytes32(store.getAttribute(attrUUID(_voter, _pollID), "commitHash")); + } + + /** + @dev Wrapper for getAttribute with attrName="numTokens" + @param _voter Address of user to check against + @param _pollID Integer identifier associated with target poll + @return Number of tokens committed to poll in sorted poll-linked-list + */ + function getNumTokens(address _voter, uint _pollID) view public returns (uint numTokens) { + return store.getAttribute(attrUUID(_voter, _pollID), "numTokens"); + } + + /** + @dev Gets top element of sorted poll-linked-list + @param _voter Address of user to check against + @return Integer identifier to poll with maximum number of tokens committed to it + */ + function getLastNode(address _voter) view public returns (uint pollID) { + return dllMap[_voter].getPrev(0); + } + + /** + @dev Gets the numTokens property of getLastNode + @param _voter Address of user to check against + @return Maximum number of tokens committed in poll specified + */ + function getLockedTokens(address _voter) view public returns (uint numTokens) { + return getNumTokens(_voter, getLastNode(_voter)); + } + + /* + @dev Takes the last node in the user's DLL and iterates backwards through the list searching + for a node with a value less than or equal to the provided _numTokens value. When such a node + is found, if the provided _pollID matches the found nodeID, this operation is an in-place + update. In that case, return the previous node of the node being updated. Otherwise return the + first node that was found with a value less than or equal to the provided _numTokens. + @param _voter The voter whose DLL will be searched + @param _numTokens The value for the numTokens attribute in the node to be inserted + @return the node which the propoded node should be inserted after + */ + function getInsertPointForNumTokens(address _voter, uint _numTokens, uint _pollID) + view public returns (uint prevNode) + { + // Get the last node in the list and the number of tokens in that node + uint nodeID = getLastNode(_voter); + uint tokensInNode = getNumTokens(_voter, nodeID); + + // Iterate backwards through the list until reaching the root node + while (nodeID != 0) { + // Get the number of tokens in the current node + tokensInNode = getNumTokens(_voter, nodeID); + if (tokensInNode <= _numTokens) { // We found the insert point! + if (nodeID == _pollID) { + // This is an in-place update. Return the prev node of the node being updated + nodeID = dllMap[_voter].getPrev(nodeID); + } + // Return the insert point + return nodeID; + } + // We did not find the insert point. Continue iterating backwards through the list + nodeID = dllMap[_voter].getPrev(nodeID); + } + + // The list is empty, or a smaller value than anything else in the list is being inserted + return nodeID; + } + + // ---------------- + // GENERAL HELPERS: + // ---------------- + + /** + @dev Checks if an expiration date has been reached + @param _terminationDate Integer timestamp of date to compare current timestamp with + @return expired Boolean indication of whether the terminationDate has passed + */ + function isExpired(uint _terminationDate) view public returns (bool expired) { + return (block.timestamp > _terminationDate); + } + + /** + @dev Generates an identifier which associates a user and a poll together + @param _pollID Integer identifier associated with target poll + @return UUID Hash which is deterministic from _user and _pollID + */ + function attrUUID(address _user, uint _pollID) public pure returns (bytes32 UUID) { + return keccak256(_user, _pollID); + } +} diff --git a/contracts/Parameterizer.sol b/contracts/Parameterizer.sol index 3a5a3bb..1eed266 100644 --- a/contracts/Parameterizer.sol +++ b/contracts/Parameterizer.sol @@ -1,8 +1,8 @@ pragma solidity 0.4.24; -import "plcrvoting/PLCRVoting.sol"; -import "tokens/eip20/EIP20Interface.sol"; -import "zeppelin/math/SafeMath.sol"; +import "./PLCRVoting.sol"; +import "./ERC20.sol"; +import "./SafeMath.sol"; contract Parameterizer { @@ -58,7 +58,7 @@ contract Parameterizer { mapping(bytes32 => ParamProposal) public proposals; // Global Variables - EIP20Interface public token; + ERC20 public token; PLCRVoting public voting; uint public PROCESSBY = 604800; // 7 days @@ -83,7 +83,7 @@ contract Parameterizer { @param _voteQuorum type of majority out of 100 necessary for vote success @param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer */ - function Parameterizer( + constructor( address _tokenAddr, address _plcrAddr, uint _minDeposit, @@ -100,7 +100,7 @@ contract Parameterizer { uint _pVoteQuorum ) public { - token = EIP20Interface(_tokenAddr); + token = ERC20(_tokenAddr); voting = PLCRVoting(_plcrAddr); set("minDeposit", _minDeposit); @@ -154,7 +154,15 @@ contract Parameterizer { require(token.transferFrom(msg.sender, this, deposit)); // escrow tokens (deposit amt) - emit _ReparameterizationProposal(_name, _value, propID, deposit, proposals[propID].appExpiry, msg.sender); + emit _ReparameterizationProposal( + _name, + _value, + propID, + deposit, + proposals[propID].appExpiry, + msg.sender + ); + return propID; } @@ -191,8 +199,15 @@ contract Parameterizer { uint commitEndDate; uint revealEndDate; (commitEndDate, revealEndDate,) = voting.pollMap(pollID); - - emit _NewChallenge(_propID, pollID, commitEndDate, revealEndDate, msg.sender); + + emit _NewChallenge( + _propID, + pollID, + commitEndDate, + revealEndDate, + msg.sender + ); + return pollID; } @@ -366,10 +381,22 @@ contract Parameterizer { if (prop.processBy > now) { set(prop.name, prop.value); } - emit _ChallengeFailed(_propID, prop.challengeID, challenge.rewardPool, challenge.winningTokens); + emit _ChallengeFailed( + _propID, + prop.challengeID, + challenge.rewardPool, + challenge.winningTokens + ); + require(token.transfer(prop.owner, reward)); } else { // The challenge succeeded or nobody voted - emit _ChallengeSucceeded(_propID, prop.challengeID, challenge.rewardPool, challenge.winningTokens); + emit _ChallengeSucceeded( + _propID, + prop.challengeID, + challenge.rewardPool, + challenge.winningTokens + ); + require(token.transfer(challenges[prop.challengeID].challenger, reward)); } } diff --git a/contracts/Registry.sol b/contracts/Registry.sol index b17c4ff..2f3c00a 100644 --- a/contracts/Registry.sol +++ b/contracts/Registry.sol @@ -1,9 +1,10 @@ pragma solidity 0.4.24; -import "tokens/eip20/EIP20Interface.sol"; +import "./ERC20.sol"; import "./Parameterizer.sol"; -import "plcrvoting/PLCRVoting.sol"; -import "zeppelin/math/SafeMath.sol"; +import "./PLCRVoting.sol"; +import "./SafeMath.sol"; + contract Registry { @@ -50,7 +51,7 @@ contract Registry { mapping(bytes32 => Listing) public listings; // Global Variables - EIP20Interface public token; + ERC20 public token; PLCRVoting public voting; Parameterizer public parameterizer; string public name; @@ -65,14 +66,14 @@ contract Registry { @param _plcrAddr Address of a PLCR voting contract for the provided token @param _paramsAddr Address of a Parameterizer contract */ - function Registry( + constructor( address _tokenAddr, address _plcrAddr, address _paramsAddr, string _name ) public { - token = EIP20Interface(_tokenAddr); + token = ERC20(_tokenAddr); voting = PLCRVoting(_plcrAddr); parameterizer = Parameterizer(_paramsAddr); name = _name; @@ -105,7 +106,13 @@ contract Registry { // Transfers tokens from user to Registry contract require(token.transferFrom(listing.owner, this, _amount)); - _Application(_listingHash, _amount, listing.applicationExpiry, _data, msg.sender); + emit _Application( + _listingHash, + _amount, + listing.applicationExpiry, + _data, + msg.sender + ); } /** @@ -121,7 +128,12 @@ contract Registry { listing.unstakedDeposit += _amount; require(token.transferFrom(msg.sender, this, _amount)); - _Deposit(_listingHash, _amount, listing.unstakedDeposit, msg.sender); + emit _Deposit( + _listingHash, + _amount, + listing.unstakedDeposit, + msg.sender + ); } /** @@ -139,7 +151,12 @@ contract Registry { listing.unstakedDeposit -= _amount; require(token.transfer(msg.sender, _amount)); - _Withdrawal(_listingHash, _amount, listing.unstakedDeposit, msg.sender); + emit _Withdrawal( + _listingHash, + _amount, + listing.unstakedDeposit, + msg.sender + ); } /** @@ -158,7 +175,7 @@ contract Registry { // Remove listingHash & return tokens resetListing(_listingHash); - _ListingWithdrawn(_listingHash); + emit _ListingWithdrawn(_listingHash); } // ----------------------- @@ -184,15 +201,15 @@ contract Registry { if (listing.unstakedDeposit < deposit) { // Not enough tokens, listingHash auto-delisted resetListing(_listingHash); - _TouchAndRemoved(_listingHash); + emit _TouchAndRemoved(_listingHash); return 0; } // Starts poll uint pollID = voting.startPoll( - parameterizer.get("voteQuorum"), - parameterizer.get("commitStageLen"), - parameterizer.get("revealStageLen") + parameterizer.get("voteQuorum"), + parameterizer.get("commitStageLen"), + parameterizer.get("revealStageLen") ); challenges[pollID] = Challenge({ @@ -215,8 +232,16 @@ contract Registry { uint commitEndDate; uint revealEndDate; (commitEndDate, revealEndDate,) = voting.pollMap(pollID); - - _Challenge(_listingHash, pollID, _data, commitEndDate, revealEndDate, msg.sender); + + emit _Challenge( + _listingHash, + pollID, + _data, + commitEndDate, + revealEndDate, + msg.sender + ); + return pollID; } @@ -263,7 +288,7 @@ contract Registry { require(token.transfer(msg.sender, reward)); - _RewardClaimed(_challengeID, reward, msg.sender); + emit _RewardClaimed(_challengeID, reward, msg.sender); } // -------- @@ -305,7 +330,7 @@ contract Registry { /* solium-disable-next-line */ !isWhitelisted(_listingHash) && (challengeID == 0 || challenges[challengeID].resolved == true) - ) { return true; } + ) {return true;} return false; } @@ -401,13 +426,23 @@ contract Registry { // Unlock stake so that it can be retrieved by the applicant listings[_listingHash].unstakedDeposit += reward; - _ChallengeFailed(_listingHash, challengeID, challenges[challengeID].rewardPool, challenges[challengeID].totalTokens); + emit _ChallengeFailed( + _listingHash, + challengeID, + challenges[challengeID].rewardPool, + challenges[challengeID].totalTokens + ); } else { // Case: challenge succeeded or nobody voted resetListing(_listingHash); // Transfer the reward to the challenger require(token.transfer(challenges[challengeID].challenger, reward)); - _ChallengeSucceeded(_listingHash, challengeID, challenges[challengeID].rewardPool, challenges[challengeID].totalTokens); + emit _ChallengeSucceeded( + _listingHash, + challengeID, + challenges[challengeID].rewardPool, + challenges[challengeID].totalTokens + ); } } @@ -418,7 +453,7 @@ contract Registry { @param _listingHash The listingHash of an application/listingHash to be whitelisted */ function whitelistApplication(bytes32 _listingHash) private { - if (!listings[_listingHash].whitelisted) { _ApplicationWhitelisted(_listingHash); } + if (!listings[_listingHash].whitelisted) {emit _ApplicationWhitelisted(_listingHash);} listings[_listingHash].whitelisted = true; } @@ -431,9 +466,9 @@ contract Registry { // Emit events before deleting listing to check whether is whitelisted if (listing.whitelisted) { - _ListingRemoved(_listingHash); + emit _ListingRemoved(_listingHash); } else { - _ApplicationRemoved(_listingHash); + emit _ApplicationRemoved(_listingHash); } // Deleting listing to prevent reentry diff --git a/contracts/SafeMath.sol b/contracts/SafeMath.sol new file mode 100644 index 0000000..14b4e20 --- /dev/null +++ b/contracts/SafeMath.sol @@ -0,0 +1,52 @@ +pragma solidity 0.4.24; + + +/** + * @title SafeMath + * @dev Math operations with safety checks that throw on error + */ +library SafeMath { + + /** + * @dev Multiplies two numbers, throws on overflow. + */ + function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { + // Gas optimization: this is cheaper than asserting 'a' not being zero, but the + // benefit is lost if 'b' is also tested. + // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 + if (a == 0) { + return 0; + } + + c = a * b; + assert(c / a == b); + return c; + } + + /** + * @dev Integer division of two numbers, truncating the quotient. + */ + function div(uint256 a, uint256 b) internal pure returns (uint256) { + // assert(b > 0); // Solidity automatically throws when dividing by 0 + // uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + return a / b; + } + + /** + * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). + */ + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + assert(b <= a); + return a - b; + } + + /** + * @dev Adds two numbers, throws on overflow. + */ + function add(uint256 a, uint256 b) internal pure returns (uint256 c) { + c = a + b; + assert(c >= a); + return c; + } +} diff --git a/contracts/StandardToken.sol b/contracts/StandardToken.sol new file mode 100644 index 0000000..68ad437 --- /dev/null +++ b/contracts/StandardToken.sol @@ -0,0 +1,124 @@ +pragma solidity 0.4.24; + +import "./BasicToken.sol"; +import "./ERC20.sol"; + + +/** + * @title Standard ERC20 token + * + * @dev Implementation of the basic standard token. + * https://github.com/ethereum/EIPs/issues/20 + * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol + */ +contract StandardToken is ERC20, BasicToken { + + mapping (address => mapping (address => uint256)) internal allowed; + + + /** + * @dev Transfer tokens from one address to another + * @param _from address The address which you want to send tokens from + * @param _to address The address which you want to transfer to + * @param _value uint256 the amount of tokens to be transferred + */ + function transferFrom( + address _from, + address _to, + uint256 _value + ) + public + returns (bool) + { + require(_to != address(0)); + require(_value <= balances[_from]); + require(_value <= allowed[_from][msg.sender]); + + balances[_from] = balances[_from].sub(_value); + balances[_to] = balances[_to].add(_value); + allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); + emit Transfer(_from, _to, _value); + return true; + } + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. + * Beware that changing an allowance with this method brings the risk that someone may use both the old + * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this + * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * @param _spender The address which will spend the funds. + * @param _value The amount of tokens to be spent. + */ + function approve(address _spender, uint256 _value) public returns (bool) { + allowed[msg.sender][_spender] = _value; + emit Approval(msg.sender, _spender, _value); + return true; + } + + /** + * @dev Function to check the amount of tokens that an owner allowed to a spender. + * @param _owner address The address which owns the funds. + * @param _spender address The address which will spend the funds. + * @return A uint256 specifying the amount of tokens still available for the spender. + */ + function allowance( + address _owner, + address _spender + ) + public + view + returns (uint256) + { + return allowed[_owner][_spender]; + } + + /** + * @dev Increase the amount of tokens that an owner allowed to a spender. + * approve should be called when allowed[_spender] == 0. To increment + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + * @param _spender The address which will spend the funds. + * @param _addedValue The amount of tokens to increase the allowance by. + */ + function increaseApproval( + address _spender, + uint256 _addedValue + ) + public + returns (bool) + { + allowed[msg.sender][_spender] = ( + allowed[msg.sender][_spender].add(_addedValue)); + emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + + /** + * @dev Decrease the amount of tokens that an owner allowed to a spender. + * approve should be called when allowed[_spender] == 0. To decrement + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + * @param _spender The address which will spend the funds. + * @param _subtractedValue The amount of tokens to decrease the allowance by. + */ + function decreaseApproval( + address _spender, + uint256 _subtractedValue + ) + public + returns (bool) + { + uint256 oldValue = allowed[msg.sender][_spender]; + if (_subtractedValue > oldValue) { + allowed[msg.sender][_spender] = 0; + } else { + allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); + } + emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + +} diff --git a/package.json b/package.json index ab76e4a..a1aafc8 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ }, "homepage": "https://github.com/computablelabs/computable", "devDependencies": { - "solium": "^1.1.2", + "solium": "^1.1.7", "truffle": "^4.1.12" }, "dependencies": { From 093aa0f9afa52a0bfe080224aeff812437e1c700 Mon Sep 17 00:00:00 2001 From: Rob Robbins Date: Thu, 21 Jun 2018 16:06:57 -0700 Subject: [PATCH 2/2] moar contracts, fixes, and compilations oh my! --- README.md | 1 - build/contracts/AttributeStore.json | 1751 ++ build/contracts/BasicToken.json | 2578 ++ build/contracts/ConstructableToken.json | 824 + build/contracts/DLL.json | 8198 ++++++ build/contracts/ERC20.json | 1235 + build/contracts/ERC20Basic.json | 864 + build/contracts/PLCRVoting.json | 28849 ++++++++++++++++++++ build/contracts/Parameterizer.json | 29254 +++++++++++++++++++++ build/contracts/Registry.json | 30517 ++++++++++++++++++++++ build/contracts/SafeMath.json | 2363 ++ build/contracts/StandardToken.json | 6781 +++++ contracts/AttributeStore.sol | 4 +- contracts/BasicToken.sol | 50 + contracts/PLCRVoting.sol | 6 +- contracts/Parameterizer.sol | 10 +- contracts/Registry.sol | 12 +- 17 files changed, 113280 insertions(+), 17 deletions(-) create mode 100644 build/contracts/AttributeStore.json create mode 100644 build/contracts/BasicToken.json create mode 100644 build/contracts/ConstructableToken.json create mode 100644 build/contracts/DLL.json create mode 100644 build/contracts/ERC20.json create mode 100644 build/contracts/ERC20Basic.json create mode 100644 build/contracts/PLCRVoting.json create mode 100644 build/contracts/Parameterizer.json create mode 100644 build/contracts/Registry.json create mode 100644 build/contracts/SafeMath.json create mode 100644 build/contracts/StandardToken.json create mode 100644 contracts/BasicToken.sol diff --git a/README.md b/README.md index d5ae312..7bf2599 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,5 @@ We actively welcome bug reports, suggestions, and code contributions! ### Setup * git clone... * `npm install` -* `npm run truffle:install` * `npm run truffle:compile` * `npm run lint:sol` diff --git a/build/contracts/AttributeStore.json b/build/contracts/AttributeStore.json new file mode 100644 index 0000000..2129061 --- /dev/null +++ b/build/contracts/AttributeStore.json @@ -0,0 +1,1751 @@ +{ + "contractName": "AttributeStore", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "AttributeStore.Data storage" + }, + { + "name": "_UUID", + "type": "bytes32" + }, + { + "name": "_attrName", + "type": "string" + } + ], + "name": "getAttribute", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "AttributeStore.Data storage" + }, + { + "name": "_UUID", + "type": "bytes32" + }, + { + "name": "_attrName", + "type": "string" + }, + { + "name": "_attrVal", + "type": "uint256" + } + ], + "name": "setAttribute", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6103bf610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f3007300000000000000000000000000000000000000003014608060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100f0575b600080fd5b6100da600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b6040518082815260200191505060405180910390f35b8180156100fc57600080fd5b50610179600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610287565b005b600080838360405160200180836000191660001916815260200182805190602001908083835b6020831015156101c657805182526020820191506020810190506020830392506101a1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083101515610230578051825260208201915060208101905060208303925061020b565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405160200180836000191660001916815260200182805190602001908083835b6020831015156102d157805182526020820191506020810190506020830392506102ac565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310151561033b5780518252602082019150602081019050602083039250610316565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058204122d2ae8a5f7124771b2c565fe950884c6a6c74ad1fca39d3dcb4f83dbe66b10029", + "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100f0575b600080fd5b6100da600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061017b565b6040518082815260200191505060405180910390f35b8180156100fc57600080fd5b50610179600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610287565b005b600080838360405160200180836000191660001916815260200182805190602001908083835b6020831015156101c657805182526020820191506020810190506020830392506101a1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083101515610230578051825260208201915060208101905060208303925061020b565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405160200180836000191660001916815260200182805190602001908083835b6020831015156102d157805182526020820191506020810190506020830392506102ac565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310151561033b5780518252602082019150602081019050602083039250610316565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058204122d2ae8a5f7124771b2c565fe950884c6a6c74ad1fca39d3dcb4f83dbe66b10029", + "sourceMap": "26:510:0:-;;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:510:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;110:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;317:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;110:203;207:4;221:11;262:5;269:9;245:34;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;245:34:0;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;245:34:0;;;235:45;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;235:45:0;;;;;;;;;;;;;;;;221:59;;293:4;:10;;:15;304:3;293:15;;;;;;;;;;;;;;;;;;286:22;;110:203;;;;;;:::o;317:217::-;438:11;479:5;486:9;462:34;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;462:34:0;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;462:34:0;;;452:45;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;452:45:0;;;;;;;;;;;;;;;;438:59;;521:8;503:4;:10;;:15;514:3;503:15;;;;;;;;;;;;;;;;;:26;;;;317:217;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\n\nlibrary AttributeStore {\n struct Data {\n mapping(bytes32 => uint) store;\n }\n\n function getAttribute(Data storage self, bytes32 _UUID, string _attrName)\n public view returns (uint)\n {\n bytes32 key = keccak256(abi.encodePacked(_UUID, _attrName));\n return self.store[key];\n }\n\n function setAttribute(\n Data storage self,\n bytes32 _UUID,\n string _attrName,\n uint _attrVal) public\n {\n bytes32 key = keccak256(abi.encodePacked(_UUID, _attrName));\n self.store[key] = _attrVal;\n }\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/AttributeStore.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/AttributeStore.sol", + "exportedSymbols": { + "AttributeStore": [ + 64 + ] + }, + "id": 65, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 64, + "linearizedBaseContracts": [ + 64 + ], + "name": "AttributeStore", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "AttributeStore.Data", + "id": 6, + "members": [ + { + "constant": false, + "id": 5, + "name": "store", + "nodeType": "VariableDeclaration", + "scope": 6, + "src": "71:30:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 4, + "keyType": { + "id": 2, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "79:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "71:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 3, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "90:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 64, + "src": "53:53:0", + "visibility": "public" + }, + { + "body": { + "id": 32, + "nodeType": "Block", + "src": "215:98:0", + "statements": [ + { + "assignments": [ + 18 + ], + "declarations": [ + { + "constant": false, + "id": 18, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "221:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "221:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 26, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22, + "name": "_UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "262:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 23, + "name": "_attrName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "269:9:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 20, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "245:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "245:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "245:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "235:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "235:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "221:59:0" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 27, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "293:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data storage pointer" + } + }, + "id": 28, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "293:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 30, + "indexExpression": { + "argumentTypes": null, + "id": 29, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "304:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "293:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 16, + "id": 31, + "nodeType": "Return", + "src": "286:22:0" + } + ] + }, + "documentation": null, + "id": 33, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAttribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "132:17:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + }, + "typeName": { + "contractScope": null, + "id": 7, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "132:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10, + "name": "_UUID", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "151:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "151:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12, + "name": "_attrName", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "166:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "166:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "131:52:0" + }, + "payable": false, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "207:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "207:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "206:6:0" + }, + "scope": 64, + "src": "110:203:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 62, + "nodeType": "Block", + "src": "432:102:0", + "statements": [ + { + "assignments": [ + 45 + ], + "declarations": [ + { + "constant": false, + "id": 45, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "438:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 44, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "438:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 53, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 49, + "name": "_UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "479:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 50, + "name": "_attrName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "486:9:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 47, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "462:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "462:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "462:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 46, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "452:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "452:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "438:59:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 54, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "503:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data storage pointer" + } + }, + "id": 57, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "503:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 58, + "indexExpression": { + "argumentTypes": null, + "id": 56, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "514:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "503:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 59, + "name": "_attrVal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41, + "src": "521:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "503:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 61, + "nodeType": "ExpressionStatement", + "src": "503:26:0" + } + ] + }, + "documentation": null, + "id": 63, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setAttribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 42, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "344:17:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + }, + "typeName": { + "contractScope": null, + "id": 34, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "344:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 37, + "name": "_UUID", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "367:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "367:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 39, + "name": "_attrName", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "386:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 38, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "386:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 41, + "name": "_attrVal", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "408:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "408:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "338:84:0" + }, + "payable": false, + "returnParameters": { + "id": 43, + "nodeType": "ParameterList", + "parameters": [], + "src": "432:0:0" + }, + "scope": 64, + "src": "317:217:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 65, + "src": "26:510:0" + } + ], + "src": "0:537:0" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/AttributeStore.sol", + "exportedSymbols": { + "AttributeStore": [ + 64 + ] + }, + "id": 65, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 64, + "linearizedBaseContracts": [ + 64 + ], + "name": "AttributeStore", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "AttributeStore.Data", + "id": 6, + "members": [ + { + "constant": false, + "id": 5, + "name": "store", + "nodeType": "VariableDeclaration", + "scope": 6, + "src": "71:30:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 4, + "keyType": { + "id": 2, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "79:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "71:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 3, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "90:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 64, + "src": "53:53:0", + "visibility": "public" + }, + { + "body": { + "id": 32, + "nodeType": "Block", + "src": "215:98:0", + "statements": [ + { + "assignments": [ + 18 + ], + "declarations": [ + { + "constant": false, + "id": 18, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "221:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "221:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 26, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22, + "name": "_UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "262:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 23, + "name": "_attrName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "269:9:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 20, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "245:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 21, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "245:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "245:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 19, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "235:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "235:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "221:59:0" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 27, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8, + "src": "293:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data storage pointer" + } + }, + "id": 28, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "293:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 30, + "indexExpression": { + "argumentTypes": null, + "id": 29, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18, + "src": "304:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "293:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 16, + "id": 31, + "nodeType": "Return", + "src": "286:22:0" + } + ] + }, + "documentation": null, + "id": 33, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAttribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "132:17:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + }, + "typeName": { + "contractScope": null, + "id": 7, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "132:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10, + "name": "_UUID", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "151:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "151:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12, + "name": "_attrName", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "166:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "166:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "131:52:0" + }, + "payable": false, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 33, + "src": "207:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "207:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "206:6:0" + }, + "scope": 64, + "src": "110:203:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 62, + "nodeType": "Block", + "src": "432:102:0", + "statements": [ + { + "assignments": [ + 45 + ], + "declarations": [ + { + "constant": false, + "id": 45, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "438:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 44, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "438:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 53, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 49, + "name": "_UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "479:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 50, + "name": "_attrName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "486:9:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 47, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "462:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "462:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "462:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 46, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "452:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "452:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "438:59:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 54, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "503:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data storage pointer" + } + }, + "id": 57, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "store", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "503:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 58, + "indexExpression": { + "argumentTypes": null, + "id": 56, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 45, + "src": "514:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "503:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 59, + "name": "_attrVal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41, + "src": "521:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "503:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 61, + "nodeType": "ExpressionStatement", + "src": "503:26:0" + } + ] + }, + "documentation": null, + "id": 63, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setAttribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 42, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "344:17:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + }, + "typeName": { + "contractScope": null, + "id": 34, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "344:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 37, + "name": "_UUID", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "367:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 36, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "367:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 39, + "name": "_attrName", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "386:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 38, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "386:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 41, + "name": "_attrVal", + "nodeType": "VariableDeclaration", + "scope": 63, + "src": "408:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "408:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "338:84:0" + }, + "payable": false, + "returnParameters": { + "id": 43, + "nodeType": "ParameterList", + "parameters": [], + "src": "432:0:0" + }, + "scope": 64, + "src": "317:217:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 65, + "src": "26:510:0" + } + ], + "src": "0:537:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.346Z" +} \ No newline at end of file diff --git a/build/contracts/BasicToken.json b/build/contracts/BasicToken.json new file mode 100644 index 0000000..7c5f261 --- /dev/null +++ b/build/contracts/BasicToken.json @@ -0,0 +1,2578 @@ +{ + "contractName": "BasicToken", + "abi": [ + { + "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" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610415806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a723058201ee6f856adcd86c99435448c9a176c40a945000c983b6b598e121514e11d53c70029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a723058201ee6f856adcd86c99435448c9a176c40a945000c983b6b598e121514e11d53c70029", + "sourceMap": "170:1053:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;170:1053:1;;;;;;;", + "deployedSourceMap": "170:1053:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;361:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;361:83:1;;;;;;;;;;;;;;;;;;;;;;;1121:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1121:99:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;598:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;598:321:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;361:83;405:7;427:12;;420:19;;361:83;:::o;1121:99::-;1177:7;1199:8;:16;1208:6;1199:16;;;;;;;;;;;;;;;;1192:23;;1121:99;;;:::o;598:321::-;661:4;696:1;681:17;;:3;:17;;;;673:26;;;;;;;;723:8;:20;732:10;723:20;;;;;;;;;;;;;;;;713:6;:30;;705:39;;;;;;;;774:32;799:6;774:8;:20;783:10;774:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;751:8;:20;760:10;751:20;;;;;;;;;;;;;;;:55;;;;828:25;846:6;828:8;:13;837:3;828:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;812:8;:13;821:3;812:13;;;;;;;;;;;;;;;:41;;;;885:3;864:33;;873:10;864:33;;;890:6;864:33;;;;;;;;;;;;;;;;;;910:4;903:11;;598:321;;;;:::o;1041:110:9:-;1099:7;1126:1;1121;:6;;1114:14;;;;;;1145:1;1141;:5;1134:12;;1041:110;;;;:::o;1213:123::-;1271:9;1296:1;1292;:5;1288:9;;1315:1;1310;:6;;1303:14;;;;;;1330:1;1323:8;;1213:123;;;;:::o", + "source": "pragma solidity 0.4.24;\n\n\nimport \"./ERC20Basic.sol\";\nimport \"./SafeMath.sol\";\n\n\n/**\n * @title Basic token\n * @dev Basic version of StandardToken, with no allowances.\n */\ncontract BasicToken is ERC20Basic {\n using SafeMath for uint256;\n\n mapping(address => uint256) balances;\n\n uint256 totalSupply_;\n\n /**\n * @dev Total number of tokens in existence\n */\n function totalSupply() public view returns (uint256) {\n return totalSupply_;\n }\n\n /**\n * @dev Transfer token for a specified address\n * @param _to The address to transfer to.\n * @param _value The amount to be transferred.\n */\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[msg.sender]);\n\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n\n /**\n * @dev Gets the balance of the specified address.\n * @param _owner The address to query the the balance of.\n * @return An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address _owner) public view returns (uint256) {\n return balances[_owner];\n }\n\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/BasicToken.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 154 + ] + }, + "id": 155, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 60, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 61, + "nodeType": "ImportDirective", + "scope": 155, + "sourceUnit": 555, + "src": "26:26:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 62, + "nodeType": "ImportDirective", + "scope": 155, + "sourceUnit": 3772, + "src": "53:24:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 63, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 554, + "src": "193:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$554", + "typeString": "contract ERC20Basic" + } + }, + "id": 64, + "nodeType": "InheritanceSpecifier", + "src": "193:10:1" + } + ], + "contractDependencies": [ + 554 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "id": 154, + "linearizedBaseContracts": [ + 154, + 554 + ], + "name": "BasicToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 67, + "libraryName": { + "contractScope": null, + "id": 65, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3771, + "src": "214:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3771", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "208:27:1", + "typeName": { + "id": 66, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "227:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 71, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "239:36:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 70, + "keyType": { + "id": 68, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "247:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "239:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 69, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "258:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 73, + "name": "totalSupply_", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "280:20:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "280:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 80, + "nodeType": "Block", + "src": "414:30:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 78, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "427:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 77, + "id": 79, + "nodeType": "Return", + "src": "420:19:1" + } + ] + }, + "documentation": "@dev Total number of tokens in existence", + "id": 81, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 74, + "nodeType": "ParameterList", + "parameters": [], + "src": "381:2:1" + }, + "payable": false, + "returnParameters": { + "id": 77, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "405:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "405:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "404:9:1" + }, + "scope": 154, + "src": "361:83:1", + "stateMutability": "view", + "superFunction": 529, + "visibility": "public" + }, + { + "body": { + "id": 140, + "nodeType": "Block", + "src": "667:252:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 91, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "681:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "696:1:1", + "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": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "688:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "688:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "681:17:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 90, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "673:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "673:26:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 97, + "nodeType": "ExpressionStatement", + "src": "673:26:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 99, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "713:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 100, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "723:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 103, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 101, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "732:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "732:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "723:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "713:30:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 98, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "705:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "705:39:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 106, + "nodeType": "ExpressionStatement", + "src": "705:39:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 107, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "751:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 110, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 108, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "760:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "760:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "751:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "799:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 111, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "774:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 114, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 112, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "783:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "783:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "774:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "774:24: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": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "774:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "751:55:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 119, + "nodeType": "ExpressionStatement", + "src": "751:55:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 120, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "812:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 122, + "indexExpression": { + "argumentTypes": null, + "id": 121, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "821:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "812:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 127, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "846:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 123, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "828:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 125, + "indexExpression": { + "argumentTypes": null, + "id": 124, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "837:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "828:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3770, + "src": "828:17: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": 128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "828:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "812:41:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 130, + "nodeType": "ExpressionStatement", + "src": "812:41:1" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "873:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "873:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 134, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "885:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 135, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "890:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 131, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 553, + "src": "864:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "864:33:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 137, + "nodeType": "EmitStatement", + "src": "859:38:1" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "910:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 89, + "id": 139, + "nodeType": "Return", + "src": "903:11:1" + } + ] + }, + "documentation": "@dev Transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", + "id": 141, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 83, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 141, + "src": "616:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 82, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "616:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 85, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 141, + "src": "629:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 84, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "629:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "615:29:1" + }, + "payable": false, + "returnParameters": { + "id": 89, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 88, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 141, + "src": "661:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 87, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "661:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "660:6:1" + }, + "scope": 154, + "src": "598:321:1", + "stateMutability": "nonpayable", + "superFunction": 545, + "visibility": "public" + }, + { + "body": { + "id": 152, + "nodeType": "Block", + "src": "1186:34:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 148, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "1199:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 150, + "indexExpression": { + "argumentTypes": null, + "id": 149, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "1208:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1199:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 147, + "id": 151, + "nodeType": "Return", + "src": "1192:23:1" + } + ] + }, + "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", + "id": 153, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 143, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "1140:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 142, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:16:1" + }, + "payable": false, + "returnParameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 146, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "1177:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 145, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1177:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1176:9:1" + }, + "scope": 154, + "src": "1121:99:1", + "stateMutability": "view", + "superFunction": 536, + "visibility": "public" + } + ], + "scope": 155, + "src": "170:1053:1" + } + ], + "src": "0:1224:1" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 154 + ] + }, + "id": 155, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 60, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 61, + "nodeType": "ImportDirective", + "scope": 155, + "sourceUnit": 555, + "src": "26:26:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 62, + "nodeType": "ImportDirective", + "scope": 155, + "sourceUnit": 3772, + "src": "53:24:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 63, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 554, + "src": "193:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$554", + "typeString": "contract ERC20Basic" + } + }, + "id": 64, + "nodeType": "InheritanceSpecifier", + "src": "193:10:1" + } + ], + "contractDependencies": [ + 554 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "id": 154, + "linearizedBaseContracts": [ + 154, + 554 + ], + "name": "BasicToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 67, + "libraryName": { + "contractScope": null, + "id": 65, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3771, + "src": "214:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3771", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "208:27:1", + "typeName": { + "id": 66, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "227:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 71, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "239:36:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 70, + "keyType": { + "id": 68, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "247:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "239:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 69, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "258:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 73, + "name": "totalSupply_", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "280:20:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "280:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 80, + "nodeType": "Block", + "src": "414:30:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 78, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "427:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 77, + "id": 79, + "nodeType": "Return", + "src": "420:19:1" + } + ] + }, + "documentation": "@dev Total number of tokens in existence", + "id": 81, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 74, + "nodeType": "ParameterList", + "parameters": [], + "src": "381:2:1" + }, + "payable": false, + "returnParameters": { + "id": 77, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 76, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "405:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "405:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "404:9:1" + }, + "scope": 154, + "src": "361:83:1", + "stateMutability": "view", + "superFunction": 529, + "visibility": "public" + }, + { + "body": { + "id": 140, + "nodeType": "Block", + "src": "667:252:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 91, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "681:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "696:1:1", + "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": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "688:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "688:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "681:17:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 90, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "673:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "673:26:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 97, + "nodeType": "ExpressionStatement", + "src": "673:26:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 99, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "713:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 100, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "723:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 103, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 101, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "732:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "732:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "723:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "713:30:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 98, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "705:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "705:39:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 106, + "nodeType": "ExpressionStatement", + "src": "705:39:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 107, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "751:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 110, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 108, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "760:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "760:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "751:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "799:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 111, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "774:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 114, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 112, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "783:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "783:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "774:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "774:24: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": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "774:32:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "751:55:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 119, + "nodeType": "ExpressionStatement", + "src": "751:55:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 120, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "812:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 122, + "indexExpression": { + "argumentTypes": null, + "id": 121, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "821:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "812:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 127, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "846:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 123, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "828:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 125, + "indexExpression": { + "argumentTypes": null, + "id": 124, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "837:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "828:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3770, + "src": "828:17: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": 128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "828:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "812:41:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 130, + "nodeType": "ExpressionStatement", + "src": "812:41:1" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "873:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "873:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 134, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "885:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 135, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "890:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 131, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 553, + "src": "864:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "864:33:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 137, + "nodeType": "EmitStatement", + "src": "859:38:1" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "910:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 89, + "id": 139, + "nodeType": "Return", + "src": "903:11:1" + } + ] + }, + "documentation": "@dev Transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", + "id": 141, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 83, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 141, + "src": "616:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 82, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "616:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 85, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 141, + "src": "629:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 84, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "629:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "615:29:1" + }, + "payable": false, + "returnParameters": { + "id": 89, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 88, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 141, + "src": "661:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 87, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "661:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "660:6:1" + }, + "scope": 154, + "src": "598:321:1", + "stateMutability": "nonpayable", + "superFunction": 545, + "visibility": "public" + }, + { + "body": { + "id": 152, + "nodeType": "Block", + "src": "1186:34:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 148, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "1199:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 150, + "indexExpression": { + "argumentTypes": null, + "id": 149, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "1208:6:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1199:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 147, + "id": 151, + "nodeType": "Return", + "src": "1192:23:1" + } + ] + }, + "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", + "id": 153, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 143, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "1140:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 142, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1140:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1139:16:1" + }, + "payable": false, + "returnParameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 146, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "1177:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 145, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1177:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1176:9:1" + }, + "scope": 154, + "src": "1121:99:1", + "stateMutability": "view", + "superFunction": 536, + "visibility": "public" + } + ], + "scope": 155, + "src": "170:1053:1" + } + ], + "src": "0:1224:1" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:21:14.778Z" +} \ No newline at end of file diff --git a/build/contracts/ConstructableToken.json b/build/contracts/ConstructableToken.json new file mode 100644 index 0000000..00aef4d --- /dev/null +++ b/build/contracts/ConstructableToken.json @@ -0,0 +1,824 @@ +{ + "contractName": "ConstructableToken", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "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": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "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" + }, + { + "inputs": [ + { + "name": "initialAccount", + "type": "address" + }, + { + "name": "initialBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "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" + }, + { + "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" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516040806110cf8339810180604052810190808051906020019092919080519060200190929190505050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001819055505050611037806100986000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a7230582046e6f646bd05a5ece836e67e6f742f07ebf0fec1505abda4eab232b1a3f9a4650029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a7230582046e6f646bd05a5ece836e67e6f742f07ebf0fec1505abda4eab232b1a3f9a4650029", + "sourceMap": "288:207:2:-;;;338:154;8:9:-1;5:2;;;30:1;27;20:12;5:2;338:154:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;438:14;411:8;:24;420:14;411:24;;;;;;;;;;;;;;;:41;;;;473:14;458:12;:29;;;;338:154;;288:207;;;;;;", + "deployedSourceMap": "288:207:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1813:188:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1813:188:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;361:83:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;361:83:1;;;;;;;;;;;;;;;;;;;;;;;725:470:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;725:470:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3678:431;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3678:431:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1121:99:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1121:99:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;598:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;598:321:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2925:296:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2925:296:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2320:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2320:153:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1813:188;1880:4;1924:6;1892:7;:19;1900:10;1892:19;;;;;;;;;;;;;;;:29;1912:8;1892:29;;;;;;;;;;;;;;;:38;;;;1962:8;1941:38;;1950:10;1941:38;;;1972:6;1941:38;;;;;;;;;;;;;;;;;;1992:4;1985:11;;1813:188;;;;:::o;361:83:1:-;405:7;427:12;;420:19;;361:83;:::o;725:470:10:-;831:4;868:1;853:17;;:3;:17;;;;845:26;;;;;;;;895:8;:15;904:5;895:15;;;;;;;;;;;;;;;;885:6;:25;;877:34;;;;;;;;935:7;:14;943:5;935:14;;;;;;;;;;;;;;;:26;950:10;935:26;;;;;;;;;;;;;;;;925:6;:36;;917:45;;;;;;;;987:27;1007:6;987:8;:15;996:5;987:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;969:8;:15;978:5;969:15;;;;;;;;;;;;;;;:45;;;;1036:25;1054:6;1036:8;:13;1045:3;1036:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1020:8;:13;1029:3;1020:13;;;;;;;;;;;;;;;:41;;;;1096:38;1127:6;1096:7;:14;1104:5;1096:14;;;;;;;;;;;;;;;:26;1111:10;1096:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1067:7;:14;1075:5;1067:14;;;;;;;;;;;;;;;:26;1082:10;1067:26;;;;;;;;;;;;;;;:67;;;;1161:3;1145:28;;1154:5;1145:28;;;1166:6;1145:28;;;;;;;;;;;;;;;;;;1186:4;1179:11;;725:470;;;;;:::o;3678:431::-;3784:4;3798:16;3817:7;:19;3825:10;3817:19;;;;;;;;;;;;;;;:29;3837:8;3817:29;;;;;;;;;;;;;;;;3798:48;;3875:8;3856:16;:27;3852:164;;;3925:1;3893:7;:19;3901:10;3893:19;;;;;;;;;;;;;;;:29;3913:8;3893:29;;;;;;;;;;;;;;;:33;;;;3852:164;;;3979:30;3992:16;3979:8;:12;;:30;;;;:::i;:::-;3947:7;:19;3955:10;3947:19;;;;;;;;;;;;;;;:29;3967:8;3947:29;;;;;;;;;;;;;;;:62;;;;3852:164;4047:8;4026:61;;4035:10;4026:61;;;4057:7;:19;4065:10;4057:19;;;;;;;;;;;;;;;:29;4077:8;4057:29;;;;;;;;;;;;;;;;4026:61;;;;;;;;;;;;;;;;;;4100:4;4093:11;;3678:431;;;;;:::o;1121:99:1:-;1177:7;1199:8;:16;1208:6;1199:16;;;;;;;;;;;;;;;;1192:23;;1121:99;;;:::o;598:321::-;661:4;696:1;681:17;;:3;:17;;;;673:26;;;;;;;;723:8;:20;732:10;723:20;;;;;;;;;;;;;;;;713:6;:30;;705:39;;;;;;;;774:32;799:6;774:8;:20;783:10;774:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;751:8;:20;760:10;751:20;;;;;;;;;;;;;;;:55;;;;828:25;846:6;828:8;:13;837:3;828:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;812:8;:13;821:3;812:13;;;;;;;;;;;;;;;:41;;;;885:3;864:33;;873:10;864:33;;;890:6;864:33;;;;;;;;;;;;;;;;;;910:4;903:11;;598:321;;;;:::o;2925:296:10:-;3026:4;3080:46;3114:11;3080:7;:19;3088:10;3080:19;;;;;;;;;;;;;;;:29;3100:8;3080:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3040:7;:19;3048:10;3040:19;;;;;;;;;;;;;;;:29;3060:8;3040:29;;;;;;;;;;;;;;;:87;;;;3159:8;3138:61;;3147:10;3138:61;;;3169:7;:19;3177:10;3169:19;;;;;;;;;;;;;;;:29;3189:8;3169:29;;;;;;;;;;;;;;;;3138:61;;;;;;;;;;;;;;;;;;3212:4;3205:11;;2925:296;;;;:::o;2320:153::-;2419:7;2443;:15;2451:6;2443:15;;;;;;;;;;;;;;;:25;2459:8;2443:25;;;;;;;;;;;;;;;;2436:32;;2320:153;;;;:::o;1041:110:9:-;1099:7;1126:1;1121;:6;;1114:14;;;;;;1145:1;1141;:5;1134:12;;1041:110;;;;:::o;1213:123::-;1271:9;1296:1;1292;:5;1288:9;;1315:1;1310;:6;;1303:14;;;;;;1330:1;1323:8;;1213:123;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"./StandardToken.sol\";\n\n\n/**\n * A subclass of the Open Zeppelin StandardToken with a constructor.\n *\n * NOTE: This is essentially what O.Z. refers to as a \"StandardTokenMock\".\n * We feel that it is just a subclass that belongs with the other contracts\n */\ncontract ConstructableToken is StandardToken {\n\n constructor(address initialAccount, uint256 initialBalance) public {\n balances[initialAccount] = initialBalance;\n totalSupply_ = initialBalance;\n }\n\n}\n\n\n", + "sourcePath": "/home/rob/Github/computable/contracts/ConstructableToken.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/ConstructableToken.sol", + "exportedSymbols": { + "ConstructableToken": [ + 178 + ] + }, + "id": 179, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 156, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/StandardToken.sol", + "file": "./StandardToken.sol", + "id": 157, + "nodeType": "ImportDirective", + "scope": 179, + "sourceUnit": 4019, + "src": "25:29:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 158, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4018, + "src": "319:13:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$4018", + "typeString": "contract StandardToken" + } + }, + "id": 159, + "nodeType": "InheritanceSpecifier", + "src": "319:13:2" + } + ], + "contractDependencies": [ + 154, + 522, + 554, + 4018 + ], + "contractKind": "contract", + "documentation": "A subclass of the Open Zeppelin StandardToken with a constructor.\n * NOTE: This is essentially what O.Z. refers to as a \"StandardTokenMock\".\nWe feel that it is just a subclass that belongs with the other contracts", + "fullyImplemented": true, + "id": 178, + "linearizedBaseContracts": [ + 178, + 4018, + 154, + 522, + 554 + ], + "name": "ConstructableToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 176, + "nodeType": "Block", + "src": "405:87:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 166, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "411:8:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 168, + "indexExpression": { + "argumentTypes": null, + "id": 167, + "name": "initialAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 161, + "src": "420:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "411:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 169, + "name": "initialBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "438:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "411:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 171, + "nodeType": "ExpressionStatement", + "src": "411:41:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 172, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "458:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 173, + "name": "initialBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "473:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "458:29:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 175, + "nodeType": "ExpressionStatement", + "src": "458:29:2" + } + ] + }, + "documentation": null, + "id": 177, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 161, + "name": "initialAccount", + "nodeType": "VariableDeclaration", + "scope": 177, + "src": "350:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "350:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 163, + "name": "initialBalance", + "nodeType": "VariableDeclaration", + "scope": 177, + "src": "374:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "374:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "349:48:2" + }, + "payable": false, + "returnParameters": { + "id": 165, + "nodeType": "ParameterList", + "parameters": [], + "src": "405:0:2" + }, + "scope": 178, + "src": "338:154:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 179, + "src": "288:207:2" + } + ], + "src": "0:498:2" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/ConstructableToken.sol", + "exportedSymbols": { + "ConstructableToken": [ + 178 + ] + }, + "id": 179, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 156, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/StandardToken.sol", + "file": "./StandardToken.sol", + "id": 157, + "nodeType": "ImportDirective", + "scope": 179, + "sourceUnit": 4019, + "src": "25:29:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 158, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4018, + "src": "319:13:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$4018", + "typeString": "contract StandardToken" + } + }, + "id": 159, + "nodeType": "InheritanceSpecifier", + "src": "319:13:2" + } + ], + "contractDependencies": [ + 154, + 522, + 554, + 4018 + ], + "contractKind": "contract", + "documentation": "A subclass of the Open Zeppelin StandardToken with a constructor.\n * NOTE: This is essentially what O.Z. refers to as a \"StandardTokenMock\".\nWe feel that it is just a subclass that belongs with the other contracts", + "fullyImplemented": true, + "id": 178, + "linearizedBaseContracts": [ + 178, + 4018, + 154, + 522, + 554 + ], + "name": "ConstructableToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 176, + "nodeType": "Block", + "src": "405:87:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 166, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "411:8:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 168, + "indexExpression": { + "argumentTypes": null, + "id": 167, + "name": "initialAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 161, + "src": "420:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "411:24:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 169, + "name": "initialBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "438:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "411:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 171, + "nodeType": "ExpressionStatement", + "src": "411:41:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 172, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73, + "src": "458:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 173, + "name": "initialBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "473:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "458:29:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 175, + "nodeType": "ExpressionStatement", + "src": "458:29:2" + } + ] + }, + "documentation": null, + "id": 177, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 161, + "name": "initialAccount", + "nodeType": "VariableDeclaration", + "scope": 177, + "src": "350:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "350:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 163, + "name": "initialBalance", + "nodeType": "VariableDeclaration", + "scope": 177, + "src": "374:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "374:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "349:48:2" + }, + "payable": false, + "returnParameters": { + "id": 165, + "nodeType": "ParameterList", + "parameters": [], + "src": "405:0:2" + }, + "scope": 178, + "src": "338:154:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 179, + "src": "288:207:2" + } + ], + "src": "0:498:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:21:14.779Z" +} \ No newline at end of file diff --git a/build/contracts/DLL.json b/build/contracts/DLL.json new file mode 100644 index 0000000..9aa8d86 --- /dev/null +++ b/build/contracts/DLL.json @@ -0,0 +1,8198 @@ +{ + "contractName": "DLL", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + } + ], + "name": "isEmpty", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + }, + { + "name": "_curr", + "type": "uint256" + } + ], + "name": "contains", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + }, + { + "name": "_curr", + "type": "uint256" + } + ], + "name": "getNext", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + }, + { + "name": "_curr", + "type": "uint256" + } + ], + "name": "getPrev", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + } + ], + "name": "getStart", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + } + ], + "name": "getEnd", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + }, + { + "name": "_prev", + "type": "uint256" + }, + { + "name": "_curr", + "type": "uint256" + }, + { + "name": "_next", + "type": "uint256" + } + ], + "name": "insert", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DLL.Data storage" + }, + { + "name": "_curr", + "type": "uint256" + } + ], + "name": "remove", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x610553610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100e8578063366a5ba2146101265780636d900ed0146101685780637c11cf641461019f5780639735c51b146101d3578063c426b0061461021e578063ee4f1ac414610256575b600080fd5b6100d2600480360381019080803590602001909291908035906020019092919050505061028a565b6040518082815260200191505060405180910390f35b61011060048036038101908080359060200190929190803590602001909291905050506102ad565b6040518082815260200191505060405180910390f35b61014e60048036038101908080359060200190929190803590602001909291905050506102d0565b604051808215151515815260200191505060405180910390f35b81801561017457600080fd5b5061019d6004803603810190808035906020019092919080359060200190929190505050610350565b005b6101bd600480360381019080803590602001909291905050506103e9565b6040518082815260200191505060405180910390f35b8180156101df57600080fd5b5061021c600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506103fd565b005b61023c600480360381019080803590602001909291905050506104ff565b604051808215151515815260200191505060405180910390f35b61027460048036038101908080359060200190929190505050610513565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b60008060006102de856104ff565b806102e95750600084145b156102f75760009250610348565b8361030186610513565b148015610315575083610313866103e9565b145b91506000610323868661028a565b1480156103395750600061033786866102ad565b145b90508180610345575080155b92505b505092915050565b60008061035d84846102d0565b1515610368576103e3565b610372848461028a565b915061037e84846102ad565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103f68260006102ad565b9050919050565b6000821415151561040d57600080fd5b6104178483610350565b600083148061042c575061042b84846102d0565b5b151561043757600080fd5b600081148061044c575061044b84826102d0565b5b151561045757600080fd5b80610462858561028a565b14151561046e57600080fd5b8261047985836102ad565b14151561048557600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b60008061050b83610513565b149050919050565b600061052082600061028a565b90509190505600a165627a7a72305820a3d0c95f0a09b2fe82802192e2a1d9456001c512679e06e17b4c9aa5d0bf71490029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100e8578063366a5ba2146101265780636d900ed0146101685780637c11cf641461019f5780639735c51b146101d3578063c426b0061461021e578063ee4f1ac414610256575b600080fd5b6100d2600480360381019080803590602001909291908035906020019092919050505061028a565b6040518082815260200191505060405180910390f35b61011060048036038101908080359060200190929190803590602001909291905050506102ad565b6040518082815260200191505060405180910390f35b61014e60048036038101908080359060200190929190803590602001909291905050506102d0565b604051808215151515815260200191505060405180910390f35b81801561017457600080fd5b5061019d6004803603810190808035906020019092919080359060200190929190505050610350565b005b6101bd600480360381019080803590602001909291905050506103e9565b6040518082815260200191505060405180910390f35b8180156101df57600080fd5b5061021c600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506103fd565b005b61023c600480360381019080803590602001909291905050506104ff565b604051808215151515815260200191505060405180910390f35b61027460048036038101908080359060200190929190505050610513565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b60008060006102de856104ff565b806102e95750600084145b156102f75760009250610348565b8361030186610513565b148015610315575083610313866103e9565b145b91506000610323868661028a565b1480156103395750600061033786866102ad565b145b90508180610345575080155b92505b505092915050565b60008061035d84846102d0565b1515610368576103e3565b610372848461028a565b915061037e84846102ad565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103f68260006102ad565b9050919050565b6000821415151561040d57600080fd5b6104178483610350565b600083148061042c575061042b84846102d0565b5b151561043757600080fd5b600081148061044c575061044b84826102d0565b5b151561045757600080fd5b80610462858561028a565b14151561046e57600080fd5b8261047985836102ad565b14151561048557600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b60008061050b83610513565b149050919050565b600061052082600061028a565b90509190505600a165627a7a72305820a3d0c95f0a09b2fe82802192e2a1d9456001c512679e06e17b4c9aa5d0bf71490029", + "sourceMap": "26:2260:1:-;;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:2260:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;797;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;296:380;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2000:284;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2000:284:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1027:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1479:517;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1479:517:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;181:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:113;749:4;768;:8;;:15;777:5;768:15;;;;;;;;;;;:20;;;761:27;;680:113;;;;:::o;797:::-;866:4;885;:8;;:15;894:5;885:15;;;;;;;;;;;:20;;;878:27;;797:113;;;;:::o;296:380::-;366:4;455:17;533:15;382:13;390:4;382:7;:13::i;:::-;:38;;;;72:1;399:5;:21;382:38;378:71;;;437:5;430:12;;;;378:71;494:5;476:14;485:4;476:8;:14::i;:::-;:23;475:52;;;;;521:5;505:12;512:4;505:6;:12::i;:::-;:21;475:52;455:72;;72:1;552:20;560:4;566:5;552:7;:20::i;:::-;:36;551:80;;;;;72:1;594:20;602:4;608:5;594:7;:20::i;:::-;:36;551:80;533:98;;644:12;:27;;;;661:10;660:11;644:27;637:34;;296:380;;;;;;;:::o;2000:284::-;2115:9;2153;2065:21;2074:4;2080:5;2065:8;:21::i;:::-;2064:22;2060:49;;;2096:7;;2060:49;2127:20;2135:4;2141:5;2127:7;:20::i;:::-;2115:32;;2165:20;2173:4;2179:5;2165:7;:20::i;:::-;2153:32;;2214:4;2192;:8;;:14;2201:4;2192:14;;;;;;;;;;;:19;;:26;;;;2246:4;2224;:8;;:14;2233:4;2224:14;;;;;;;;;;;:19;;:26;;;;2264:4;:8;;:15;2273:5;2264:15;;;;;;;;;;;;2257:22;;;;;;;;;;;;;;2000:284;;;;;:::o;1027:107::-;1083:4;1102:27;1110:4;72:1;1102:7;:27::i;:::-;1095:34;;1027:107;;;:::o;1479:517::-;72:1;1593:5;:21;;1585:30;;;;;;;;1622:19;1629:4;1635:5;1622:6;:19::i;:::-;72:1;1656:5;:21;:46;;;;1681:21;1690:4;1696:5;1681:8;:21::i;:::-;1656:46;1648:55;;;;;;;;72:1;1717:5;:21;:46;;;;1742:21;1751:4;1757:5;1742:8;:21::i;:::-;1717:46;1709:55;;;;;;;;1803:5;1779:20;1787:4;1793:5;1779:7;:20::i;:::-;:29;1771:38;;;;;;;;1847:5;1823:20;1831:4;1837:5;1823:7;:20::i;:::-;:29;1815:38;;;;;;;;1883:5;1860:4;:8;;:15;1869:5;1860:15;;;;;;;;;;;:20;;:28;;;;1917:5;1894:4;:8;;:15;1903:5;1894:15;;;;;;;;;;;:20;;:28;;;;1952:5;1929:4;:8;;:15;1938:5;1929:15;;;;;;;;;;;:20;;:28;;;;1986:5;1963:4;:8;;:15;1972:5;1963:15;;;;;;;;;;;:20;;:28;;;;1479:517;;;;:::o;181:111::-;238:4;72:1;257:14;266:4;257:8;:14::i;:::-;:30;250:37;;181:111;;;:::o;914:109::-;972:4;991:27;999:4;72:1;991:7;:27::i;:::-;984:34;;914:109;;;:::o", + "source": "pragma solidity 0.4.24;\n\n\nlibrary DLL {\n\n uint constant NULL_NODE_ID = 0;\n\n struct Node {\n uint next;\n uint prev;\n }\n\n struct Data {\n mapping(uint => Node) dll;\n }\n\n function isEmpty(Data storage self) public view returns (bool) {\n return getStart(self) == NULL_NODE_ID;\n }\n\n function contains(Data storage self, uint _curr) public view returns (bool) {\n if (isEmpty(self) || _curr == NULL_NODE_ID) {\n return false;\n }\n\n bool isSingleNode = (getStart(self) == _curr) && (getEnd(self) == _curr);\n bool isNullNode = (getNext(self, _curr) == NULL_NODE_ID) && (getPrev(self, _curr) == NULL_NODE_ID);\n return isSingleNode || !isNullNode;\n }\n\n function getNext(Data storage self, uint _curr) public view returns (uint) {\n return self.dll[_curr].next;\n }\n\n function getPrev(Data storage self, uint _curr) public view returns (uint) {\n return self.dll[_curr].prev;\n }\n\n function getStart(Data storage self) public view returns (uint) {\n return getNext(self, NULL_NODE_ID);\n }\n\n function getEnd(Data storage self) public view returns (uint) {\n return getPrev(self, NULL_NODE_ID);\n }\n\n /**\n @dev Inserts a new node between _prev and _next. When inserting a node already existing in\n the list it will be automatically removed from the old position.\n @param _prev the node which _new will be inserted after\n @param _curr the id of the new node being inserted\n @param _next the node which _new will be inserted before\n */\n function insert(\n Data storage self,\n uint _prev,\n uint _curr,\n uint _next\n ) public\n {\n require(_curr != NULL_NODE_ID);\n\n remove(self, _curr);\n\n require(_prev == NULL_NODE_ID || contains(self, _prev));\n require(_next == NULL_NODE_ID || contains(self, _next));\n\n require(getNext(self, _prev) == _next);\n require(getPrev(self, _next) == _prev);\n\n self.dll[_curr].prev = _prev;\n self.dll[_curr].next = _next;\n\n self.dll[_prev].next = _curr;\n self.dll[_next].prev = _curr;\n }\n\n function remove(Data storage self, uint _curr) public {\n if (!contains(self, _curr)) {\n return;\n }\n\n uint next = getNext(self, _curr);\n uint prev = getPrev(self, _curr);\n\n self.dll[next].prev = prev;\n self.dll[prev].next = next;\n\n delete self.dll[_curr];\n }\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/DLL.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/DLL.sol", + "exportedSymbols": { + "DLL": [ + 365 + ] + }, + "id": 366, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 66, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 365, + "linearizedBaseContracts": [ + 365 + ], + "name": "DLL", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 69, + "name": "NULL_NODE_ID", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "43:30:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30", + "id": 68, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "72:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "canonicalName": "DLL.Node", + "id": 74, + "members": [ + { + "constant": false, + "id": 71, + "name": "next", + "nodeType": "VariableDeclaration", + "scope": 74, + "src": "96:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 70, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "96:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 73, + "name": "prev", + "nodeType": "VariableDeclaration", + "scope": 74, + "src": "111:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "111:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Node", + "nodeType": "StructDefinition", + "scope": 365, + "src": "78:47:1", + "visibility": "public" + }, + { + "canonicalName": "DLL.Data", + "id": 79, + "members": [ + { + "constant": false, + "id": 78, + "name": "dll", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "147:25:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node)" + }, + "typeName": { + "id": 77, + "keyType": { + "id": 75, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "155:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "147:21:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node)" + }, + "valueType": { + "contractScope": null, + "id": 76, + "name": "Node", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 74, + "src": "163:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage_ptr", + "typeString": "struct DLL.Node" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 365, + "src": "129:48:1", + "visibility": "public" + }, + { + "body": { + "id": 92, + "nodeType": "Block", + "src": "244:48:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 87, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "266:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 86, + "name": "getStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 198, + "src": "257:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" + } + }, + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "257:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 89, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "275:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "257:30:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 85, + "id": 91, + "nodeType": "Return", + "src": "250:37:1" + } + ] + }, + "documentation": null, + "id": 93, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isEmpty", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 82, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 81, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "198:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 80, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "198:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "197:19:1" + }, + "payable": false, + "returnParameters": { + "id": 85, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 84, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "238:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 83, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "238:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "237:6:1" + }, + "scope": 365, + "src": "181:111:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 152, + "nodeType": "Block", + "src": "372:304:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 103, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "390:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 102, + "name": "isEmpty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 93, + "src": "382:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (bool)" + } + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "382:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 105, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "399:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 106, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "408:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "399:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "382:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 112, + "nodeType": "IfStatement", + "src": "378:71:1", + "trueBody": { + "id": 111, + "nodeType": "Block", + "src": "422:27:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "437:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 101, + "id": 110, + "nodeType": "Return", + "src": "430:12:1" + } + ] + } + }, + { + "assignments": [ + 114 + ], + "declarations": [ + { + "constant": false, + "id": 114, + "name": "isSingleNode", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "455:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 113, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "455:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 128, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "485:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 115, + "name": "getStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 198, + "src": "476:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "476:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 118, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "494:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "476:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 120, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "475:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 122, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "512:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 121, + "name": "getEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "505:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "505:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 124, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "521:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "505:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 126, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "504:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "475:52:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "455:72:1" + }, + { + "assignments": [ + 130 + ], + "declarations": [ + { + "constant": false, + "id": 130, + "name": "isNullNode", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "533:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 129, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "533:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 146, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 132, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "560:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 133, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "566:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 131, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "552:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "552:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 135, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "576:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "552:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 137, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "551:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 139, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "602:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 140, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "608:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 138, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "594:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "594:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 142, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "618:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "594:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "593:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "551:80:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "533:98:1" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 147, + "name": "isSingleNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "644:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "660:11:1", + "subExpression": { + "argumentTypes": null, + "id": 148, + "name": "isNullNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "661:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "644:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 101, + "id": 151, + "nodeType": "Return", + "src": "637:34:1" + } + ] + }, + "documentation": null, + "id": 153, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "contains", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 98, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 95, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "314:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 94, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "314:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 97, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "333:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 96, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "333:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "313:31:1" + }, + "payable": false, + "returnParameters": { + "id": 101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 100, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "366:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 99, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "366:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "365:6:1" + }, + "scope": 365, + "src": "296:380:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 168, + "nodeType": "Block", + "src": "755:38:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 162, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "768:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "768:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 165, + "indexExpression": { + "argumentTypes": null, + "id": 164, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "777:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "768:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "768:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 161, + "id": 167, + "nodeType": "Return", + "src": "761:27:1" + } + ] + }, + "documentation": null, + "id": 169, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNext", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 155, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "697:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 154, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "697:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 157, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "716:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 156, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "716:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "696:31:1" + }, + "payable": false, + "returnParameters": { + "id": 161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 160, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "749:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 159, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "749:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:6:1" + }, + "scope": 365, + "src": "680:113:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 184, + "nodeType": "Block", + "src": "872:38:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 178, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "885:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "885:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 181, + "indexExpression": { + "argumentTypes": null, + "id": 180, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "894:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "885:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "885:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 177, + "id": 183, + "nodeType": "Return", + "src": "878:27:1" + } + ] + }, + "documentation": null, + "id": 185, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPrev", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 171, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 185, + "src": "814:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 170, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "814:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 173, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 185, + "src": "833:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 172, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "833:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "813:31:1" + }, + "payable": false, + "returnParameters": { + "id": 177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 176, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 185, + "src": "866:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 175, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "866:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "865:6:1" + }, + "scope": 365, + "src": "797:113:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 197, + "nodeType": "Block", + "src": "978:45:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 193, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 187, + "src": "999:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 194, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1005:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 192, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "991:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "991:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "984:34:1" + } + ] + }, + "documentation": null, + "id": 198, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getStart", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 187, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "932:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 186, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "932:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "931:19:1" + }, + "payable": false, + "returnParameters": { + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 190, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "972:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 189, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "972:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "971:6:1" + }, + "scope": 365, + "src": "914:109:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 210, + "nodeType": "Block", + "src": "1089:45:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 206, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "1110:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 207, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1116:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 205, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "1102:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1102:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 204, + "id": 209, + "nodeType": "Return", + "src": "1095:34:1" + } + ] + }, + "documentation": null, + "id": 211, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getEnd", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 200, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "1043:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 199, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1043:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1042:19:1" + }, + "payable": false, + "returnParameters": { + "id": 204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 203, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "1083:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 202, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1083:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1082:6:1" + }, + "scope": 365, + "src": "1027:107:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 309, + "nodeType": "Block", + "src": "1579:417:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 223, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1593:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 224, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1602:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1593:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 222, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1585:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1585:30:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 227, + "nodeType": "ExpressionStatement", + "src": "1585:30:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 229, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1629:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 230, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1635:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 228, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 364, + "src": "1622:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$__$", + "typeString": "function (struct DLL.Data storage pointer,uint256)" + } + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1622:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 232, + "nodeType": "ExpressionStatement", + "src": "1622:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 234, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1656:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 235, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1665:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1656:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 238, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1690:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 239, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1696:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 237, + "name": "contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "1681:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1681:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1656:46:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 233, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1648:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1648:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 243, + "nodeType": "ExpressionStatement", + "src": "1648:55:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 245, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1717:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 246, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1726:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1717:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 249, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1751:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 250, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1757:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 248, + "name": "contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "1742:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1742:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1717:46:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 244, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1709:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1709:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 254, + "nodeType": "ExpressionStatement", + "src": "1709:55:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 257, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1787:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 258, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1793:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 256, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "1779:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1779:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 260, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1803:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1779:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 255, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1771:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1771:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 263, + "nodeType": "ExpressionStatement", + "src": "1771:38:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 266, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1831:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 267, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1837:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 265, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "1823:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1823:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 269, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1847:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1823:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 264, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1815:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1815:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 272, + "nodeType": "ExpressionStatement", + "src": "1815:38:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 273, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1860:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1860:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 277, + "indexExpression": { + "argumentTypes": null, + "id": 275, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1869:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1860:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 278, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "1860:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 279, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1883:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1860:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 281, + "nodeType": "ExpressionStatement", + "src": "1860:28:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 282, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1894:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1894:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 286, + "indexExpression": { + "argumentTypes": null, + "id": 284, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1903:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1894:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 287, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "1894:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 288, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1917:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1894:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 290, + "nodeType": "ExpressionStatement", + "src": "1894:28:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 291, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1929:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1929:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 295, + "indexExpression": { + "argumentTypes": null, + "id": 293, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1938:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1929:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "1929:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 297, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1952:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1929:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 299, + "nodeType": "ExpressionStatement", + "src": "1929:28:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 300, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1963:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 303, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1963:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 304, + "indexExpression": { + "argumentTypes": null, + "id": 302, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1972:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1963:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "1963:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 306, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1986:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1963:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 308, + "nodeType": "ExpressionStatement", + "src": "1963:28:1" + } + ] + }, + "documentation": "@dev Inserts a new node between _prev and _next. When inserting a node already existing in\nthe list it will be automatically removed from the old position.\n@param _prev the node which _new will be inserted after\n@param _curr the id of the new node being inserted\n@param _next the node which _new will be inserted before", + "id": 310, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "insert", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 213, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1500:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 212, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1500:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 215, + "name": "_prev", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1523:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1523:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 217, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1539:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 216, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1539:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 219, + "name": "_next", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1555:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 218, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1555:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1494:75:1" + }, + "payable": false, + "returnParameters": { + "id": 221, + "nodeType": "ParameterList", + "parameters": [], + "src": "1579:0:1" + }, + "scope": 365, + "src": "1479:517:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 363, + "nodeType": "Block", + "src": "2054:230:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2064:22:1", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 318, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2074:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 319, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2080:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 317, + "name": "contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "2065:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2065:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 324, + "nodeType": "IfStatement", + "src": "2060:49:1", + "trueBody": { + "id": 323, + "nodeType": "Block", + "src": "2088:21:1", + "statements": [ + { + "expression": null, + "functionReturnParameters": 316, + "id": 322, + "nodeType": "Return", + "src": "2096:7:1" + } + ] + } + }, + { + "assignments": [ + 326 + ], + "declarations": [ + { + "constant": false, + "id": 326, + "name": "next", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2115:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 325, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2115:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 331, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 328, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2135:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 329, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2141:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 327, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "2127:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2127:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2115:32:1" + }, + { + "assignments": [ + 333 + ], + "declarations": [ + { + "constant": false, + "id": 333, + "name": "prev", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2153:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 332, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2153:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 338, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 335, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2173:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 336, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2179:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 334, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "2165:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2165:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2153:32:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 339, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2192:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "2192:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 343, + "indexExpression": { + "argumentTypes": null, + "id": 341, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "2201:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2192:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "2192:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 345, + "name": "prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "2214:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2192:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 347, + "nodeType": "ExpressionStatement", + "src": "2192:26:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 348, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2224:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "2224:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 352, + "indexExpression": { + "argumentTypes": null, + "id": 350, + "name": "prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "2233:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2224:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "2224:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 354, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "2246:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2224:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 356, + "nodeType": "ExpressionStatement", + "src": "2224:26:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2257:22:1", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 357, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2264:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "2264:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 360, + "indexExpression": { + "argumentTypes": null, + "id": 359, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2273:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2264:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 362, + "nodeType": "ExpressionStatement", + "src": "2257:22:1" + } + ] + }, + "documentation": null, + "id": 364, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 312, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2016:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 311, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "2016:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 314, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2035:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 313, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2035:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2015:31:1" + }, + "payable": false, + "returnParameters": { + "id": 316, + "nodeType": "ParameterList", + "parameters": [], + "src": "2054:0:1" + }, + "scope": 365, + "src": "2000:284:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 366, + "src": "26:2260:1" + } + ], + "src": "0:2287:1" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/DLL.sol", + "exportedSymbols": { + "DLL": [ + 365 + ] + }, + "id": 366, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 66, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 365, + "linearizedBaseContracts": [ + 365 + ], + "name": "DLL", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 69, + "name": "NULL_NODE_ID", + "nodeType": "VariableDeclaration", + "scope": 365, + "src": "43:30:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30", + "id": 68, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "72:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" + }, + { + "canonicalName": "DLL.Node", + "id": 74, + "members": [ + { + "constant": false, + "id": 71, + "name": "next", + "nodeType": "VariableDeclaration", + "scope": 74, + "src": "96:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 70, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "96:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 73, + "name": "prev", + "nodeType": "VariableDeclaration", + "scope": 74, + "src": "111:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "111:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Node", + "nodeType": "StructDefinition", + "scope": 365, + "src": "78:47:1", + "visibility": "public" + }, + { + "canonicalName": "DLL.Data", + "id": 79, + "members": [ + { + "constant": false, + "id": 78, + "name": "dll", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "147:25:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node)" + }, + "typeName": { + "id": 77, + "keyType": { + "id": 75, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "155:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "147:21:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node)" + }, + "valueType": { + "contractScope": null, + "id": 76, + "name": "Node", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 74, + "src": "163:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage_ptr", + "typeString": "struct DLL.Node" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 365, + "src": "129:48:1", + "visibility": "public" + }, + { + "body": { + "id": 92, + "nodeType": "Block", + "src": "244:48:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 90, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 87, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "266:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 86, + "name": "getStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 198, + "src": "257:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" + } + }, + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "257:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 89, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "275:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "257:30:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 85, + "id": 91, + "nodeType": "Return", + "src": "250:37:1" + } + ] + }, + "documentation": null, + "id": 93, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isEmpty", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 82, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 81, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "198:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 80, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "198:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "197:19:1" + }, + "payable": false, + "returnParameters": { + "id": 85, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 84, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 93, + "src": "238:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 83, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "238:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "237:6:1" + }, + "scope": 365, + "src": "181:111:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 152, + "nodeType": "Block", + "src": "372:304:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 103, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "390:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 102, + "name": "isEmpty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 93, + "src": "382:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (bool)" + } + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "382:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 105, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "399:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 106, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "408:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "399:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "382:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 112, + "nodeType": "IfStatement", + "src": "378:71:1", + "trueBody": { + "id": 111, + "nodeType": "Block", + "src": "422:27:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "437:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 101, + "id": 110, + "nodeType": "Return", + "src": "430:12:1" + } + ] + } + }, + { + "assignments": [ + 114 + ], + "declarations": [ + { + "constant": false, + "id": 114, + "name": "isSingleNode", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "455:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 113, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "455:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 128, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "485:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 115, + "name": "getStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 198, + "src": "476:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "476:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 118, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "494:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "476:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 120, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "475:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 122, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "512:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + ], + "id": 121, + "name": "getEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "505:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer) view returns (uint256)" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "505:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 124, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "521:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "505:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 126, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "504:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "475:52:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "455:72:1" + }, + { + "assignments": [ + 130 + ], + "declarations": [ + { + "constant": false, + "id": 130, + "name": "isNullNode", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "533:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 129, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "533:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 146, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 132, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "560:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 133, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "566:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 131, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "552:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "552:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 135, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "576:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "552:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 137, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "551:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 139, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 95, + "src": "602:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 140, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "608:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 138, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "594:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "594:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 142, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "618:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "594:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 144, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "593:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "551:80:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "533:98:1" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 147, + "name": "isSingleNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "644:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "660:11:1", + "subExpression": { + "argumentTypes": null, + "id": 148, + "name": "isNullNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "661:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "644:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 101, + "id": 151, + "nodeType": "Return", + "src": "637:34:1" + } + ] + }, + "documentation": null, + "id": 153, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "contains", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 98, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 95, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "314:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 94, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "314:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 97, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "333:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 96, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "333:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "313:31:1" + }, + "payable": false, + "returnParameters": { + "id": 101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 100, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "366:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 99, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "366:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "365:6:1" + }, + "scope": 365, + "src": "296:380:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 168, + "nodeType": "Block", + "src": "755:38:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 162, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "768:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "768:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 165, + "indexExpression": { + "argumentTypes": null, + "id": 164, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "777:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "768:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "768:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 161, + "id": 167, + "nodeType": "Return", + "src": "761:27:1" + } + ] + }, + "documentation": null, + "id": 169, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNext", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 155, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "697:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 154, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "697:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 157, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "716:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 156, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "716:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "696:31:1" + }, + "payable": false, + "returnParameters": { + "id": 161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 160, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 169, + "src": "749:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 159, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "749:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:6:1" + }, + "scope": 365, + "src": "680:113:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 184, + "nodeType": "Block", + "src": "872:38:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 178, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "885:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "885:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 181, + "indexExpression": { + "argumentTypes": null, + "id": 180, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 173, + "src": "894:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "885:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "885:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 177, + "id": 183, + "nodeType": "Return", + "src": "878:27:1" + } + ] + }, + "documentation": null, + "id": 185, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPrev", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 171, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 185, + "src": "814:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 170, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "814:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 173, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 185, + "src": "833:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 172, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "833:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "813:31:1" + }, + "payable": false, + "returnParameters": { + "id": 177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 176, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 185, + "src": "866:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 175, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "866:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "865:6:1" + }, + "scope": 365, + "src": "797:113:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 197, + "nodeType": "Block", + "src": "978:45:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 193, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 187, + "src": "999:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 194, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1005:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 192, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "991:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "991:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 191, + "id": 196, + "nodeType": "Return", + "src": "984:34:1" + } + ] + }, + "documentation": null, + "id": 198, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getStart", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 187, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "932:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 186, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "932:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "931:19:1" + }, + "payable": false, + "returnParameters": { + "id": 191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 190, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 198, + "src": "972:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 189, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "972:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "971:6:1" + }, + "scope": 365, + "src": "914:109:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 210, + "nodeType": "Block", + "src": "1089:45:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 206, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "1110:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 207, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1116:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 205, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "1102:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1102:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 204, + "id": 209, + "nodeType": "Return", + "src": "1095:34:1" + } + ] + }, + "documentation": null, + "id": 211, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getEnd", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 200, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "1043:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 199, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1043:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1042:19:1" + }, + "payable": false, + "returnParameters": { + "id": 204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 203, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "1083:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 202, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1083:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1082:6:1" + }, + "scope": 365, + "src": "1027:107:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 309, + "nodeType": "Block", + "src": "1579:417:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 223, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1593:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 224, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1602:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1593:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 222, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1585:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1585:30:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 227, + "nodeType": "ExpressionStatement", + "src": "1585:30:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 229, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1629:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 230, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1635:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 228, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 364, + "src": "1622:6:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$__$", + "typeString": "function (struct DLL.Data storage pointer,uint256)" + } + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1622:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 232, + "nodeType": "ExpressionStatement", + "src": "1622:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 234, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1656:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 235, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1665:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1656:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 238, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1690:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 239, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1696:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 237, + "name": "contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "1681:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1681:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1656:46:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 233, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1648:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1648:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 243, + "nodeType": "ExpressionStatement", + "src": "1648:55:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 245, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1717:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 246, + "name": "NULL_NODE_ID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69, + "src": "1726:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1717:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 249, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1751:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 250, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1757:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 248, + "name": "contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "1742:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1742:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1717:46:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 244, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1709:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1709:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 254, + "nodeType": "ExpressionStatement", + "src": "1709:55:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 257, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1787:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 258, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1793:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 256, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "1779:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1779:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 260, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1803:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1779:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 255, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1771:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1771:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 263, + "nodeType": "ExpressionStatement", + "src": "1771:38:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 266, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1831:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 267, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1837:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 265, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "1823:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1823:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 269, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1847:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1823:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 264, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "1815:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1815:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 272, + "nodeType": "ExpressionStatement", + "src": "1815:38:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 273, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1860:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1860:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 277, + "indexExpression": { + "argumentTypes": null, + "id": 275, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1869:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1860:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 278, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "1860:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 279, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1883:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1860:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 281, + "nodeType": "ExpressionStatement", + "src": "1860:28:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 282, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1894:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1894:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 286, + "indexExpression": { + "argumentTypes": null, + "id": 284, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1903:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1894:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 287, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "1894:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 288, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1917:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1894:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 290, + "nodeType": "ExpressionStatement", + "src": "1894:28:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 291, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1929:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1929:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 295, + "indexExpression": { + "argumentTypes": null, + "id": 293, + "name": "_prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "1938:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1929:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "1929:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 297, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1952:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1929:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 299, + "nodeType": "ExpressionStatement", + "src": "1929:28:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 300, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1963:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 303, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "1963:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 304, + "indexExpression": { + "argumentTypes": null, + "id": 302, + "name": "_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1972:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1963:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "1963:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 306, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "1986:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1963:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 308, + "nodeType": "ExpressionStatement", + "src": "1963:28:1" + } + ] + }, + "documentation": "@dev Inserts a new node between _prev and _next. When inserting a node already existing in\nthe list it will be automatically removed from the old position.\n@param _prev the node which _new will be inserted after\n@param _curr the id of the new node being inserted\n@param _next the node which _new will be inserted before", + "id": 310, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "insert", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 213, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1500:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 212, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1500:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 215, + "name": "_prev", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1523:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1523:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 217, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1539:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 216, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1539:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 219, + "name": "_next", + "nodeType": "VariableDeclaration", + "scope": 310, + "src": "1555:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 218, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1555:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1494:75:1" + }, + "payable": false, + "returnParameters": { + "id": 221, + "nodeType": "ParameterList", + "parameters": [], + "src": "1579:0:1" + }, + "scope": 365, + "src": "1479:517:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 363, + "nodeType": "Block", + "src": "2054:230:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2064:22:1", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 318, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2074:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 319, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2080:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 317, + "name": "contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "2065:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2065:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 324, + "nodeType": "IfStatement", + "src": "2060:49:1", + "trueBody": { + "id": 323, + "nodeType": "Block", + "src": "2088:21:1", + "statements": [ + { + "expression": null, + "functionReturnParameters": 316, + "id": 322, + "nodeType": "Return", + "src": "2096:7:1" + } + ] + } + }, + { + "assignments": [ + 326 + ], + "declarations": [ + { + "constant": false, + "id": 326, + "name": "next", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2115:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 325, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2115:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 331, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 328, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2135:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 329, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2141:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 327, + "name": "getNext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "2127:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2127:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2115:32:1" + }, + { + "assignments": [ + 333 + ], + "declarations": [ + { + "constant": false, + "id": 333, + "name": "prev", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2153:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 332, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2153:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 338, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 335, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2173:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 336, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2179:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 334, + "name": "getPrev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "2165:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2165:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2153:32:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 339, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2192:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "2192:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 343, + "indexExpression": { + "argumentTypes": null, + "id": 341, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "2201:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2192:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "prev", + "nodeType": "MemberAccess", + "referencedDeclaration": 73, + "src": "2192:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 345, + "name": "prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "2214:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2192:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 347, + "nodeType": "ExpressionStatement", + "src": "2192:26:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 348, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2224:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "2224:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 352, + "indexExpression": { + "argumentTypes": null, + "id": 350, + "name": "prev", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "2233:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2224:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "id": 353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next", + "nodeType": "MemberAccess", + "referencedDeclaration": 71, + "src": "2224:19:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 354, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "2246:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2224:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 356, + "nodeType": "ExpressionStatement", + "src": "2224:26:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2257:22:1", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 357, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2264:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data storage pointer" + } + }, + "id": 358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dll", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "2264:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Node_$74_storage_$", + "typeString": "mapping(uint256 => struct DLL.Node storage ref)" + } + }, + "id": 360, + "indexExpression": { + "argumentTypes": null, + "id": 359, + "name": "_curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2273:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2264:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Node_$74_storage", + "typeString": "struct DLL.Node storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 362, + "nodeType": "ExpressionStatement", + "src": "2257:22:1" + } + ] + }, + "documentation": null, + "id": 364, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 312, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2016:17:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + }, + "typeName": { + "contractScope": null, + "id": 311, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "2016:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 314, + "name": "_curr", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2035:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 313, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2035:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2015:31:1" + }, + "payable": false, + "returnParameters": { + "id": 316, + "nodeType": "ParameterList", + "parameters": [], + "src": "2054:0:1" + }, + "scope": 365, + "src": "2000:284:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 366, + "src": "26:2260:1" + } + ], + "src": "0:2287:1" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.348Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json new file mode 100644 index 0000000..a784115 --- /dev/null +++ b/build/contracts/ERC20.json @@ -0,0 +1,1235 @@ +{ + "contractName": "ERC20", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "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" + }, + { + "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" + }, + { + "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": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity 0.4.24;\n\nimport \"./ERC20Basic.sol\";\n\n\n/**\n * @title ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/20\n */\ncontract ERC20 is ERC20Basic {\n function allowance(address owner, address spender)\n public view returns (uint256);\n\n function transferFrom(address from, address to, uint256 value)\n public returns (bool);\n\n function approve(address spender, uint256 value) public returns (bool);\n event Approval(\n address indexed owner,\n address indexed spender,\n uint256 value\n );\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 408 + ] + }, + "id": 409, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 367, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 368, + "nodeType": "ImportDirective", + "scope": 409, + "sourceUnit": 441, + "src": "25:26:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 369, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 440, + "src": "161:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$440", + "typeString": "contract ERC20Basic" + } + }, + "id": 370, + "nodeType": "InheritanceSpecifier", + "src": "161:10:2" + } + ], + "contractDependencies": [ + 440 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "id": 408, + "linearizedBaseContracts": [ + 408, + 440 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 379, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 372, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 379, + "src": "195:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 371, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "195:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 374, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 379, + "src": "210:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "210:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "194:32:2" + }, + "payable": false, + "returnParameters": { + "id": 378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 377, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 379, + "src": "252:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "252:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "251:9:2" + }, + "scope": 408, + "src": "176:85:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 390, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 381, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "287:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 380, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "287:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 383, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "301:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 385, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "313:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 384, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "313:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "286:41:2" + }, + "payable": false, + "returnParameters": { + "id": 389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 388, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "348:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "348:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:6:2" + }, + "scope": 408, + "src": "265:89:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 399, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 392, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 399, + "src": "375:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "375:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 394, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 399, + "src": "392:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 393, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "392:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "374:32:2" + }, + "payable": false, + "returnParameters": { + "id": 398, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 397, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 399, + "src": "423:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 396, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "423:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "422:6:2" + }, + "scope": 408, + "src": "358:71:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 407, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 401, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 407, + "src": "452:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "452:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 403, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 407, + "src": "479:23:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "479:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 405, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 407, + "src": "508:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 404, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "508:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "446:79:2" + }, + "src": "432:94:2" + } + ], + "scope": 409, + "src": "143:385:2" + } + ], + "src": "0:529:2" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 408 + ] + }, + "id": 409, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 367, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 368, + "nodeType": "ImportDirective", + "scope": 409, + "sourceUnit": 441, + "src": "25:26:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 369, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 440, + "src": "161:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$440", + "typeString": "contract ERC20Basic" + } + }, + "id": 370, + "nodeType": "InheritanceSpecifier", + "src": "161:10:2" + } + ], + "contractDependencies": [ + 440 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "id": 408, + "linearizedBaseContracts": [ + 408, + 440 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 379, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 372, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 379, + "src": "195:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 371, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "195:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 374, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 379, + "src": "210:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "210:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "194:32:2" + }, + "payable": false, + "returnParameters": { + "id": 378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 377, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 379, + "src": "252:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "252:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "251:9:2" + }, + "scope": 408, + "src": "176:85:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 390, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 381, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "287:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 380, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "287:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 383, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "301:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 385, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "313:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 384, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "313:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "286:41:2" + }, + "payable": false, + "returnParameters": { + "id": 389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 388, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 390, + "src": "348:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "348:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:6:2" + }, + "scope": 408, + "src": "265:89:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 399, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 392, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 399, + "src": "375:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "375:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 394, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 399, + "src": "392:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 393, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "392:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "374:32:2" + }, + "payable": false, + "returnParameters": { + "id": 398, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 397, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 399, + "src": "423:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 396, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "423:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "422:6:2" + }, + "scope": 408, + "src": "358:71:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 407, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 401, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 407, + "src": "452:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "452:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 403, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 407, + "src": "479:23:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "479:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 405, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 407, + "src": "508:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 404, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "508:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "446:79:2" + }, + "src": "432:94:2" + } + ], + "scope": 409, + "src": "143:385:2" + } + ], + "src": "0:529:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.346Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20Basic.json b/build/contracts/ERC20Basic.json new file mode 100644 index 0000000..377d0df --- /dev/null +++ b/build/contracts/ERC20Basic.json @@ -0,0 +1,864 @@ +{ + "contractName": "ERC20Basic", + "abi": [ + { + "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" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity 0.4.24;\n\n\n/**\n * @title ERC20Basic\n * @dev Simpler version of ERC20 interface\n * See https://github.com/ethereum/EIPs/issues/179\n */\ncontract ERC20Basic {\n function totalSupply() public view returns (uint256);\n function balanceOf(address who) public view returns (uint256);\n function transfer(address to, uint256 value) public returns (bool);\n event Transfer(address indexed from, address indexed to, uint256 value);\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/ERC20Basic.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 440 + ] + }, + "id": 441, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 410, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\nSee https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented": false, + "id": 440, + "linearizedBaseContracts": [ + 440 + ], + "name": "ERC20Basic", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 415, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 411, + "nodeType": "ParameterList", + "parameters": [], + "src": "193:2:3" + }, + "payable": false, + "returnParameters": { + "id": 414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 413, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "217:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 412, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "216:9:3" + }, + "scope": 440, + "src": "173:53:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 422, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 422, + "src": "248:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "248:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "247:13:3" + }, + "payable": false, + "returnParameters": { + "id": 421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 420, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 422, + "src": "282:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "282:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "281:9:3" + }, + "scope": 440, + "src": "229:62:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 431, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 424, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "312:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "312:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 426, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "324:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "324:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "311:27:3" + }, + "payable": false, + "returnParameters": { + "id": 430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 429, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "355:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 428, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "355:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "354:6:3" + }, + "scope": 440, + "src": "294:67:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 439, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 433, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 439, + "src": "379:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "379:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 435, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 439, + "src": "401:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "401:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 437, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 439, + "src": "421:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "421:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "378:57:3" + }, + "src": "364:72:3" + } + ], + "scope": 441, + "src": "149:289:3" + } + ], + "src": "0:439:3" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 440 + ] + }, + "id": 441, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 410, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\nSee https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented": false, + "id": 440, + "linearizedBaseContracts": [ + 440 + ], + "name": "ERC20Basic", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 415, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 411, + "nodeType": "ParameterList", + "parameters": [], + "src": "193:2:3" + }, + "payable": false, + "returnParameters": { + "id": 414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 413, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "217:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 412, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "217:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "216:9:3" + }, + "scope": 440, + "src": "173:53:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 422, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 422, + "src": "248:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "248:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "247:13:3" + }, + "payable": false, + "returnParameters": { + "id": 421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 420, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 422, + "src": "282:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "282:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "281:9:3" + }, + "scope": 440, + "src": "229:62:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 431, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 424, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "312:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 423, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "312:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 426, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "324:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 425, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "324:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "311:27:3" + }, + "payable": false, + "returnParameters": { + "id": 430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 429, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "355:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 428, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "355:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "354:6:3" + }, + "scope": 440, + "src": "294:67:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 439, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 433, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 439, + "src": "379:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "379:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 435, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 439, + "src": "401:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "401:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 437, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 439, + "src": "421:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "421:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "378:57:3" + }, + "src": "364:72:3" + } + ], + "scope": 441, + "src": "149:289:3" + } + ], + "src": "0:439:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.347Z" +} \ No newline at end of file diff --git a/build/contracts/PLCRVoting.json b/build/contracts/PLCRVoting.json new file mode 100644 index 0000000..4068e39 --- /dev/null +++ b/build/contracts/PLCRVoting.json @@ -0,0 +1,28849 @@ +{ + "contractName": "PLCRVoting", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "INITIAL_POLL_NONCE", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "voteTokenBalance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "pollMap", + "outputs": [ + { + "name": "commitEndDate", + "type": "uint256" + }, + { + "name": "revealEndDate", + "type": "uint256" + }, + { + "name": "voteQuorum", + "type": "uint256" + }, + { + "name": "votesFor", + "type": "uint256" + }, + { + "name": "votesAgainst", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pollNonce", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_tokenAddr", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "pollID", + "type": "uint256" + }, + { + "indexed": false, + "name": "numTokens", + "type": "uint256" + }, + { + "indexed": true, + "name": "voter", + "type": "address" + } + ], + "name": "_VoteCommitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "pollID", + "type": "uint256" + }, + { + "indexed": false, + "name": "numTokens", + "type": "uint256" + }, + { + "indexed": false, + "name": "votesFor", + "type": "uint256" + }, + { + "indexed": false, + "name": "votesAgainst", + "type": "uint256" + }, + { + "indexed": true, + "name": "choice", + "type": "uint256" + }, + { + "indexed": true, + "name": "voter", + "type": "address" + } + ], + "name": "_VoteRevealed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "voteQuorum", + "type": "uint256" + }, + { + "indexed": false, + "name": "commitEndDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "revealEndDate", + "type": "uint256" + }, + { + "indexed": true, + "name": "pollID", + "type": "uint256" + }, + { + "indexed": true, + "name": "creator", + "type": "address" + } + ], + "name": "_PollCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "numTokens", + "type": "uint256" + }, + { + "indexed": true, + "name": "voter", + "type": "address" + } + ], + "name": "_VotingRightsGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "numTokens", + "type": "uint256" + }, + { + "indexed": true, + "name": "voter", + "type": "address" + } + ], + "name": "_VotingRightsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "pollID", + "type": "uint256" + }, + { + "indexed": true, + "name": "voter", + "type": "address" + } + ], + "name": "_TokensRescued", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_numTokens", + "type": "uint256" + } + ], + "name": "requestVotingRights", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_numTokens", + "type": "uint256" + } + ], + "name": "withdrawVotingRights", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "rescueTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + }, + { + "name": "_secretHash", + "type": "bytes32" + }, + { + "name": "_numTokens", + "type": "uint256" + }, + { + "name": "_prevPollID", + "type": "uint256" + } + ], + "name": "commitVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_prevID", + "type": "uint256" + }, + { + "name": "_nextID", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_numTokens", + "type": "uint256" + } + ], + "name": "validPosition", + "outputs": [ + { + "name": "valid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + }, + { + "name": "_voteOption", + "type": "uint256" + }, + { + "name": "_salt", + "type": "uint256" + } + ], + "name": "revealVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_pollID", + "type": "uint256" + }, + { + "name": "_salt", + "type": "uint256" + } + ], + "name": "getNumPassingTokens", + "outputs": [ + { + "name": "correctVotes", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voteQuorum", + "type": "uint256" + }, + { + "name": "_commitDuration", + "type": "uint256" + }, + { + "name": "_revealDuration", + "type": "uint256" + } + ], + "name": "startPoll", + "outputs": [ + { + "name": "pollID", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "isPassed", + "outputs": [ + { + "name": "passed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "getTotalNumberOfTokensForWinningOption", + "outputs": [ + { + "name": "numTokens", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "pollEnded", + "outputs": [ + { + "name": "ended", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "commitPeriodActive", + "outputs": [ + { + "name": "active", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "revealPeriodActive", + "outputs": [ + { + "name": "active", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "didCommit", + "outputs": [ + { + "name": "committed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "didReveal", + "outputs": [ + { + "name": "revealed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "pollExists", + "outputs": [ + { + "name": "exists", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "getCommitHash", + "outputs": [ + { + "name": "commitHash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "getNumTokens", + "outputs": [ + { + "name": "numTokens", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + } + ], + "name": "getLastNode", + "outputs": [ + { + "name": "pollID", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + } + ], + "name": "getLockedTokens", + "outputs": [ + { + "name": "numTokens", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_numTokens", + "type": "uint256" + }, + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "getInsertPointForNumTokens", + "outputs": [ + { + "name": "prevNode", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_terminationDate", + "type": "uint256" + } + ], + "name": "isExpired", + "outputs": [ + { + "name": "expired", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_pollID", + "type": "uint256" + } + ], + "name": "attrUUID", + "outputs": [ + { + "name": "UUID", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806129508339810180604052810190808051906020019092919050505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008081905550506128c58061008b6000396000f30060806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101b05780632c052031146101db57806332ed3d60146102465780633b9302941461029b578063427fa1d2146102f2578063441c77c014610349578063494031831461038e5780636148fed5146103d35780636b2d95d4146104305780636cbf9c5e146104875780637f97e836146104d6578063819b02931461053b57806388d21ff3146105b457806397508f36146105f95780639760356014610624578063a1103f3714610651578063a25236fe146106ba578063a4439dc5146106e7578063aa7ca4641461072c578063b11d8bb814610791578063b43bd069146107d2578063d13820921461083d578063d901402b1461089e578063d9548e5314610907578063e7b1d43c1461094c578063ee68483014610979578063fc0c546a146109be575b600080fd5b34801561017b57600080fd5b5061019a60048036038101908080359060200190929190505050610a15565b6040518082815260200191505060405180910390f35b3480156101bc57600080fd5b506101c5610a76565b6040518082815260200191505060405180910390f35b3480156101e757600080fd5b50610230600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610a7b565b6040518082815260200191505060405180910390f35b34801561025257600080fd5b50610285600480360381019080803590602001909291908035906020019092919080359060200190929190505050610cba565b6040518082815260200191505060405180910390f35b3480156102a757600080fd5b506102dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dd7565b6040518082815260200191505060405180910390f35b3480156102fe57600080fd5b50610333600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610def565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610ee7565b604051808215151515815260200191505060405180910390f35b34801561039a57600080fd5b506103b960048036038101908080359060200190929190505050610f36565b604051808215151515815260200191505060405180910390f35b3480156103df57600080fd5b506103fe60048036038101908080359060200190929190505050610fc9565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34801561043c57600080fd5b50610471600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fff565b6040518082815260200191505060405180910390f35b34801561049357600080fd5b506104d4600480360381019080803590602001909291908035600019169060200190929190803590602001909291908035906020019092919050505061101a565b005b3480156104e257600080fd5b50610521600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f3565b604051808215151515815260200191505060405180910390f35b34801561054757600080fd5b5061059a6004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611772565b604051808215151515815260200191505060405180910390f35b3480156105c057600080fd5b506105df600480360381019080803590602001909291905050506117b6565b604051808215151515815260200191505060405180910390f35b34801561060557600080fd5b5061060e6117d1565b6040518082815260200191505060405180910390f35b34801561063057600080fd5b5061064f600480360381019080803590602001909291905050506117d7565b005b34801561065d57600080fd5b5061069c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a0c565b60405180826000191660001916815260200191505060405180910390f35b3480156106c657600080fd5b506106e560048036038101908080359060200190929190505050611adb565b005b3480156106f357600080fd5b5061071260048036038101908080359060200190929190505050611dbe565b604051808215151515815260200191505060405180910390f35b34801561073857600080fd5b50610777600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611dfb565b604051808215151515815260200191505060405180910390f35b34801561079d57600080fd5b506107d0600480360381019080803590602001909291908035906020019092919080359060200190929190505050611e7a565b005b3480156107de57600080fd5b50610827600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061223c565b6040518082815260200191505060405180910390f35b34801561084957600080fd5b50610888600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123a2565b6040518082815260200191505060405180910390f35b3480156108aa57600080fd5b506108e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124a7565b60405180826000191660001916815260200191505060405180910390f35b34801561091357600080fd5b50610932600480360381019080803590602001909291905050506125af565b604051808215151515815260200191505060405180910390f35b34801561095857600080fd5b50610977600480360381019080803590602001909291905050506125bb565b005b34801561098557600080fd5b506109a4600480360381019080803590602001909291905050506127d2565b604051808215151515815260200191505060405180910390f35b3480156109ca57600080fd5b506109d361280e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000610a20826127d2565b1515610a2b57600080fd5b610a3482610f36565b15610a575760016000838152602001908152602001600020600301549050610a71565b600160008381526020019081526020016000206004015490505b919050565b600081565b6000806000610a8986610def565b9150610a9586836123a2565b90505b600082141515610cad57610aac86836123a2565b90508481111515610bb85783821415610bb057600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610b7257600080fd5b505af4158015610b86573d6000803e3d6000fd5b505050506040513d6020811015610b9c57600080fd5b810190808051906020019092919050505091505b819250610cb1565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610c6b57600080fd5b505af4158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509150610a98565b8192505b50509392505050565b6000806000600160005401600081905550610cde854261283490919063ffffffff16565b9150610cf3848361283490919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610ea557600080fd5b505af4158015610eb9573d6000803e3d6000fd5b505050506040513d6020811015610ecf57600080fd5b81019080805190602001909291905050509050919050565b6000610ef2826117b6565b1515610efd57600080fd5b610f1c60016000848152602001908152602001600020600101546125af565b158015610f2f5750610f2d82611dbe565b155b9050919050565b6000610f40612869565b610f49836127d2565b1515610f5457600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b60006110138261100e84610def565b6123a2565b9050919050565b60008061102686611dbe565b151561103157600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561107f57600080fd5b6000861415151561108f57600080fd5b60008314806111885750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561114c57600080fd5b505af4158015611160573d6000803e3d6000fd5b505050506040513d602081101561117657600080fd5b81019080805190602001909291905050505b151561119357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561124657600080fd5b505af415801561125a573d6000803e3d6000fd5b505050506040513d602081101561127057600080fd5b81019080805190602001909291905050509150858214611290578161137f565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561134357600080fd5b505af4158015611357573d6000803e3d6000fd5b505050506040513d602081101561136d57600080fd5b81019080805190602001909291905050505b915061138d83833387611772565b151561139857600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b15801561145b57600080fd5b505af415801561146f573d6000803e3d6000fd5b5050505061147d3387611a0c565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b50505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561161957600080fd5b505af415801561162d573d6000803e3d6000fd5b50505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006116fe826117b6565b151561170957600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600061178185886123a2565b841015915061179085876123a2565b8411158061179e5750600086145b90508180156117aa5750805b92505050949350505050565b60008082141580156117ca57506000548211155b9050919050565b60005481565b6117f660016000838152602001908152602001600020600101546125af565b151561180157600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156118b457600080fd5b505af41580156118c8573d6000803e3d6000fd5b505050506040513d60208110156118de57600080fd5b810190808051906020019092919050505015156118fa57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1580156119ad57600080fd5b505af41580156119c1573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611aa65780518252602082019150602081019050602083039250611a81565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b9957600080fd5b505af1158015611bad573d6000803e3d6000fd5b505050506040513d6020811015611bc357600080fd5b810190808051906020019092919050505010151515611be157600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611d2757600080fd5b505af1158015611d3b573d6000803e3d6000fd5b505050506040513d6020811015611d5157600080fd5b81019080805190602001909291905050501515611d6d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611dc9826117b6565b1515611dd457600080fd5b611df360016000848152602001908152602001600020600001546125af565b159050919050565b6000611e06826117b6565b1515611e1157600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611e8584610ee7565b1515611e9057600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611efc57600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f6957600080fd5b611f7333856124a7565b60001916838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611fd45780518252602082019150602081019050602083039250611faf565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561201157600080fd5b61201b33856123a2565b9050600183141561204f57806001600086815260200190815260200160002060030160008282540192505081905550612074565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b15801561212757600080fd5b505af415801561213b573d6000803e3d6000fd5b50505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b60008060008061224b866127d2565b151561225657600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156122c257600080fd5b6122cb86610f36565b6122d65760006122d9565b60015b60ff169250828560405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310151561233b5780518252602082019150602081019050602083039250612316565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915061237487876124a7565b90508060001916826000191614151561238c57600080fd5b61239687876123a2565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c90916123cc8686611a0c565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561246457600080fd5b505af4158015612478573d6000803e3d6000fd5b505050506040513d602081101561248e57600080fd5b8101908080519060200190929190505050905092915050565b6000600473__AttributeStore________________________6350389f5c90916124d18686611a0c565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561256957600080fd5b505af415801561257d573d6000803e3d6000fd5b505050506040513d602081101561259357600080fd5b8101908080519060200190929190505050600102905092915050565b60008142119050919050565b60006126176125c933610fff565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285090919063ffffffff16565b905081811015151561262857600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561273a57600080fd5b505af115801561274e573d6000803e3d6000fd5b505050506040513d602081101561276457600080fd5b8101908080519060200190929190505050151561278057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b60006127dd826117b6565b15156127e857600080fd5b61280760016000848152602001908152602001600020600101546125af565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000818301905082811015151561284757fe5b80905092915050565b600082821115151561285e57fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a723058208178b061e78479d2c5031eadfe1d4ed75a02b24df302d6d886ba602fc5600e510029", + "deployedBytecode": "0x60806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101b05780632c052031146101db57806332ed3d60146102465780633b9302941461029b578063427fa1d2146102f2578063441c77c014610349578063494031831461038e5780636148fed5146103d35780636b2d95d4146104305780636cbf9c5e146104875780637f97e836146104d6578063819b02931461053b57806388d21ff3146105b457806397508f36146105f95780639760356014610624578063a1103f3714610651578063a25236fe146106ba578063a4439dc5146106e7578063aa7ca4641461072c578063b11d8bb814610791578063b43bd069146107d2578063d13820921461083d578063d901402b1461089e578063d9548e5314610907578063e7b1d43c1461094c578063ee68483014610979578063fc0c546a146109be575b600080fd5b34801561017b57600080fd5b5061019a60048036038101908080359060200190929190505050610a15565b6040518082815260200191505060405180910390f35b3480156101bc57600080fd5b506101c5610a76565b6040518082815260200191505060405180910390f35b3480156101e757600080fd5b50610230600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610a7b565b6040518082815260200191505060405180910390f35b34801561025257600080fd5b50610285600480360381019080803590602001909291908035906020019092919080359060200190929190505050610cba565b6040518082815260200191505060405180910390f35b3480156102a757600080fd5b506102dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dd7565b6040518082815260200191505060405180910390f35b3480156102fe57600080fd5b50610333600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610def565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b5061037460048036038101908080359060200190929190505050610ee7565b604051808215151515815260200191505060405180910390f35b34801561039a57600080fd5b506103b960048036038101908080359060200190929190505050610f36565b604051808215151515815260200191505060405180910390f35b3480156103df57600080fd5b506103fe60048036038101908080359060200190929190505050610fc9565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34801561043c57600080fd5b50610471600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fff565b6040518082815260200191505060405180910390f35b34801561049357600080fd5b506104d4600480360381019080803590602001909291908035600019169060200190929190803590602001909291908035906020019092919050505061101a565b005b3480156104e257600080fd5b50610521600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f3565b604051808215151515815260200191505060405180910390f35b34801561054757600080fd5b5061059a6004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611772565b604051808215151515815260200191505060405180910390f35b3480156105c057600080fd5b506105df600480360381019080803590602001909291905050506117b6565b604051808215151515815260200191505060405180910390f35b34801561060557600080fd5b5061060e6117d1565b6040518082815260200191505060405180910390f35b34801561063057600080fd5b5061064f600480360381019080803590602001909291905050506117d7565b005b34801561065d57600080fd5b5061069c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a0c565b60405180826000191660001916815260200191505060405180910390f35b3480156106c657600080fd5b506106e560048036038101908080359060200190929190505050611adb565b005b3480156106f357600080fd5b5061071260048036038101908080359060200190929190505050611dbe565b604051808215151515815260200191505060405180910390f35b34801561073857600080fd5b50610777600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611dfb565b604051808215151515815260200191505060405180910390f35b34801561079d57600080fd5b506107d0600480360381019080803590602001909291908035906020019092919080359060200190929190505050611e7a565b005b3480156107de57600080fd5b50610827600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061223c565b6040518082815260200191505060405180910390f35b34801561084957600080fd5b50610888600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123a2565b6040518082815260200191505060405180910390f35b3480156108aa57600080fd5b506108e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124a7565b60405180826000191660001916815260200191505060405180910390f35b34801561091357600080fd5b50610932600480360381019080803590602001909291905050506125af565b604051808215151515815260200191505060405180910390f35b34801561095857600080fd5b50610977600480360381019080803590602001909291905050506125bb565b005b34801561098557600080fd5b506109a4600480360381019080803590602001909291905050506127d2565b604051808215151515815260200191505060405180910390f35b3480156109ca57600080fd5b506109d361280e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000610a20826127d2565b1515610a2b57600080fd5b610a3482610f36565b15610a575760016000838152602001908152602001600020600301549050610a71565b600160008381526020019081526020016000206004015490505b919050565b600081565b6000806000610a8986610def565b9150610a9586836123a2565b90505b600082141515610cad57610aac86836123a2565b90508481111515610bb85783821415610bb057600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610b7257600080fd5b505af4158015610b86573d6000803e3d6000fd5b505050506040513d6020811015610b9c57600080fd5b810190808051906020019092919050505091505b819250610cb1565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610c6b57600080fd5b505af4158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509150610a98565b8192505b50509392505050565b6000806000600160005401600081905550610cde854261283490919063ffffffff16565b9150610cf3848361283490919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610ea557600080fd5b505af4158015610eb9573d6000803e3d6000fd5b505050506040513d6020811015610ecf57600080fd5b81019080805190602001909291905050509050919050565b6000610ef2826117b6565b1515610efd57600080fd5b610f1c60016000848152602001908152602001600020600101546125af565b158015610f2f5750610f2d82611dbe565b155b9050919050565b6000610f40612869565b610f49836127d2565b1515610f5457600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b60006110138261100e84610def565b6123a2565b9050919050565b60008061102686611dbe565b151561103157600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561107f57600080fd5b6000861415151561108f57600080fd5b60008314806111885750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561114c57600080fd5b505af4158015611160573d6000803e3d6000fd5b505050506040513d602081101561117657600080fd5b81019080805190602001909291905050505b151561119357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561124657600080fd5b505af415801561125a573d6000803e3d6000fd5b505050506040513d602081101561127057600080fd5b81019080805190602001909291905050509150858214611290578161137f565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561134357600080fd5b505af4158015611357573d6000803e3d6000fd5b505050506040513d602081101561136d57600080fd5b81019080805190602001909291905050505b915061138d83833387611772565b151561139857600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b15801561145b57600080fd5b505af415801561146f573d6000803e3d6000fd5b5050505061147d3387611a0c565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561153e57600080fd5b505af4158015611552573d6000803e3d6000fd5b50505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b15801561161957600080fd5b505af415801561162d573d6000803e3d6000fd5b50505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006116fe826117b6565b151561170957600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600061178185886123a2565b841015915061179085876123a2565b8411158061179e5750600086145b90508180156117aa5750805b92505050949350505050565b60008082141580156117ca57506000548211155b9050919050565b60005481565b6117f660016000838152602001908152602001600020600101546125af565b151561180157600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156118b457600080fd5b505af41580156118c8573d6000803e3d6000fd5b505050506040513d60208110156118de57600080fd5b810190808051906020019092919050505015156118fa57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1580156119ad57600080fd5b505af41580156119c1573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611aa65780518252602082019150602081019050602083039250611a81565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b9957600080fd5b505af1158015611bad573d6000803e3d6000fd5b505050506040513d6020811015611bc357600080fd5b810190808051906020019092919050505010151515611be157600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611d2757600080fd5b505af1158015611d3b573d6000803e3d6000fd5b505050506040513d6020811015611d5157600080fd5b81019080805190602001909291905050501515611d6d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611dc9826117b6565b1515611dd457600080fd5b611df360016000848152602001908152602001600020600001546125af565b159050919050565b6000611e06826117b6565b1515611e1157600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611e8584610ee7565b1515611e9057600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611efc57600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f6957600080fd5b611f7333856124a7565b60001916838360405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611fd45780518252602082019150602081019050602083039250611faf565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561201157600080fd5b61201b33856123a2565b9050600183141561204f57806001600086815260200190815260200160002060030160008282540192505081905550612074565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b15801561212757600080fd5b505af415801561213b573d6000803e3d6000fd5b50505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b60008060008061224b866127d2565b151561225657600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156122c257600080fd5b6122cb86610f36565b6122d65760006122d9565b60015b60ff169250828560405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310151561233b5780518252602082019150602081019050602083039250612316565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915061237487876124a7565b90508060001916826000191614151561238c57600080fd5b61239687876123a2565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c90916123cc8686611a0c565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561246457600080fd5b505af4158015612478573d6000803e3d6000fd5b505050506040513d602081101561248e57600080fd5b8101908080519060200190929190505050905092915050565b6000600473__AttributeStore________________________6350389f5c90916124d18686611a0c565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b15801561256957600080fd5b505af415801561257d573d6000803e3d6000fd5b505050506040513d602081101561259357600080fd5b8101908080519060200190929190505050600102905092915050565b60008142119050919050565b60006126176125c933610fff565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285090919063ffffffff16565b905081811015151561262857600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561273a57600080fd5b505af115801561274e573d6000803e3d6000fd5b505050506040513d602081101561276457600080fd5b8101908080519060200190929190505050151561278057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b60006127dd826117b6565b15156127e857600080fd5b61280760016000848152602001908152602001600020600101546125af565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000818301905082811015151561284757fe5b80905092915050565b600082821115151561285e57fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a723058208178b061e78479d2c5031eadfe1d4ed75a02b24df302d6d886ba602fc5600e510029", + "sourceMap": "252:17051:4:-;;;2286:111;8:9:-1;5:2;;;30:1;27;20:12;5:2;2286:111:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2345:10;2331:5;;:25;;;;;;;;;;;;;;;;;;1728:1;2362:9;:30;;;;2286:111;252:17051;;;;;;", + "deployedSourceMap": "252:17051:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10565:258;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10565:258:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1686:43:4;;;;;;;;;;;;;;;;;;;;;;;15433:1074;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15433:1074:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9217:605;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9217:605:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1829:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1829:48:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14317:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14317:114:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11835:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11835:203:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10029:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10029:238:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1759:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:36:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14608:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14608:137:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4534:1213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4534:1213:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12280:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12280:173:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6235:399;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6235:399:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13049:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13049:124:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1733:21:4;;;;;;;;;;;;;;;;;;;;;;;3727:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3727:244:4;;;;;;;;;;;;;;;;;;;;;;;;;;17158:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17158:143:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2742:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2742:282:4;;;;;;;;;;;;;;;;;;;;;;;;;;11445:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11445:171:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12693:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12693:172:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6982:1135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6982:1135:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331:467;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8331:467:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13954:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13954:165:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13516:180;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13516:180:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16807:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16807:131:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3222:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3222:353:4;;;;;;;;;;;;;;;;;;;;;;;;;;10997:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10997:160:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1995:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1995:18:4;;;;;;;;;;;;;;;;;;;;;;;;;;;10565:258;10648:14;10678:18;10688:7;10678:9;:18::i;:::-;10670:27;;;;;;;;10708:17;10717:7;10708:8;:17::i;:::-;10704:114;;;10740:7;:16;10748:7;10740:16;;;;;;;;;;;:25;;;10733:32;;;;10704:114;10789:7;:16;10797:7;10789:16;;;;;;;;;;;:29;;;10782:36;;10565:258;;;;:::o;1686:43::-;1728:1;1686:43;:::o;15433:1074::-;15539:13;15637:11;15676:17;15651:19;15663:6;15651:11;:19::i;:::-;15637:33;;15696:28;15709:6;15717;15696:12;:28::i;:::-;15676:48;;15802:587;15819:1;15809:6;:11;;15802:587;;;15899:28;15912:6;15920;15899:12;:28::i;:::-;15884:43;;15955:10;15939:12;:26;;15935:312;;;16021:7;16011:6;:17;16007:173;;;16139:6;:14;16146:6;16139:14;;;;;;;;;;;;;;;:22;;;;16162:6;16139:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16139:30:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16139:30:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16139:30:4;;;;;;;;;;;;;;;;16130:39;;16007:173;16231:6;16224:13;;;;15935:312;16352:6;:14;16359:6;16352:14;;;;;;;;;;;;;;;:22;;;;16375:6;16352:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16352:30:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16352:30:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16352:30:4;;;;;;;;;;;;;;;;16343:39;;15802:587;;;16496:6;16489:13;;15433:1074;;;;;;;;:::o;9217:605::-;9314:11;9365:18;9428;9357:1;9345:9;;:13;9333:9;:25;;;;9386:36;9406:15;9386;:19;;:36;;;;:::i;:::-;9365:57;;9449:34;9467:15;9449:13;:17;;:34;;;;:::i;:::-;9428:55;;9511:157;;;;;;;;;9570:13;9511:157;;;;9606:13;9511:157;;;;9536:11;9511:157;;;;9637:1;9511:157;;;;9660:1;9511:157;;;9490:7;:18;9498:9;;9490:18;;;;;;;;;;;:178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9778:10;9680:114;;9761:9;;9680:114;9700:11;9719:13;9740;9680:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9808:9;;9801:16;;9217:605;;;;;;;:::o;1829:48::-;;;;;;;;;;;;;;;;;:::o;14317:114::-;14375:11;14401:6;:14;14408:6;14401:14;;;;;;;;;;;;;;;:22;;;;14424:1;14401:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14401:25:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14401:25:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14401:25:4;;;;;;;;;;;;;;;;14394:32;;14317:114;;;:::o;11835:203::-;11898:11;11925:19;11936:7;11925:10;:19::i;:::-;11917:28;;;;;;;;11960:41;11970:7;:16;11978:7;11970:16;;;;;;;;;;;:30;;;11960:9;:41::i;:::-;11959:42;:74;;;;;12006:27;12025:7;12006:18;:27::i;:::-;12005:28;11959:74;11952:81;;11835:203;;;:::o;10029:238::-;10082:11;10135:16;;:::i;:::-;10109:18;10119:7;10109:9;:18::i;:::-;10101:27;;;;;;;;10154:7;:16;10162:7;10154:16;;;;;;;;;;;10135:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10243:4;:17;;;10227:4;:13;;;:33;10208:4;:15;;;:53;10190:4;:13;;;10184:3;:19;10183:79;10176:86;;10029:238;;;;:::o;1759:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14608:137::-;14670:14;14699:41;14712:6;14720:19;14732:6;14720:11;:19::i;:::-;14699:12;:41::i;:::-;14692:48;;14608:137;;;:::o;4534:1213::-;5046:15;5469:12;4669:27;4688:7;4669:18;:27::i;:::-;4661:36;;;;;;;;4743:10;4711:16;:28;4728:10;4711:28;;;;;;;;;;;;;;;;:42;;4703:51;;;;;;;;4813:1;4802:7;:12;;4794:21;;;;;;;;4993:1;4978:11;:16;:60;;;;4998:6;:18;5005:10;4998:18;;;;;;;;;;;;;;;:27;;;;5026:11;4998:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4998:40:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4998:40:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4998:40:4;;;;;;;;;;;;;;;;4978:60;4970:69;;;;;;;;5064:6;:18;5071:10;5064:18;;;;;;;;;;;;;;;:26;;;;5091:11;5064:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5064:39:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5064:39:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5064:39:4;;;;;;;;;;;;;;;;5046:57;;5206:7;5192:10;:21;5191:74;;5255:10;5191:74;;;5217:6;:18;5224:10;5217:18;;;;;;;;;;;;;;;:26;;;;5244:7;5217:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5217:35:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5217:35:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5217:35:4;;;;;;;;;;;;;;;;5191:74;5178:87;;5287:103;5310:11;5331:10;5352;5372;5287:13;:103::i;:::-;5272:124;;;;;;;;5403:6;:18;5410:10;5403:18;;;;;;;;;;;;;;;:25;;;;5429:11;5442:7;5451:10;5403:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5403:59:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5403:59:4;;;;5484:29;5493:10;5505:7;5484:8;:29::i;:::-;5469:44;;5520:5;:18;;;;5539:4;5558:10;5520:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5520:49:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5520:49:4;;;;5575:5;:18;;;;5594:4;5619:11;5614:17;;;5575:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5575:57:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5575:57:4;;;;5680:4;5639:7;:16;5647:7;5639:16;;;;;;;;;;;:26;;:38;5666:10;5639:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;5731:10;5695:47;;5710:7;5695:47;5719:10;5695:47;;;;;;;;;;;;;;;;;;4534:1213;;;;;;:::o;12280:173::-;12350:14;12380:19;12391:7;12380:10;:19::i;:::-;12372:28;;;;;;;;12414:7;:16;12422:7;12414:16;;;;;;;;;;;:26;;:34;12441:6;12414:34;;;;;;;;;;;;;;;;;;;;;;;;;12407:41;;12280:173;;;;:::o;6235:399::-;6360:10;6380:14;6516;6412:29;6425:6;6433:7;6412:12;:29::i;:::-;6398:10;:43;;6380:62;;6548:29;6561:6;6569:7;6548:12;:29::i;:::-;6534:10;:43;;:59;;;;6592:1;6581:7;:12;6534:59;6516:78;;6607:9;:22;;;;;6620:9;6607:22;6600:29;;6235:399;;;;;;;;:::o;13049:124::-;13104:11;13142:1;13131:7;:12;;:36;;;;;13158:9;;13147:7;:20;;13131:36;13123:45;;13049:124;;;:::o;1733:21::-;;;;:::o;3727:244::-;3786:41;3796:7;:16;3804:7;3796:16;;;;;;;;;;;:30;;;3786:9;:41::i;:::-;3778:50;;;;;;;;3842:6;:18;3849:10;3842:18;;;;;;;;;;;;;;;:27;;;;3870:7;3842:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3842:36:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3842:36:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3842:36:4;;;;;;;;;;;;;;;;3834:45;;;;;;;;3886:6;:18;3893:10;3886:18;;;;;;;;;;;;;;;:25;;;;3912:7;3886:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3886:34:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3886:34:4;;;;3955:10;3931:35;;3946:7;3931:35;;;;;;;;;;3727:244;:::o;17158:143::-;17226:12;17280:5;17287:7;17263:32;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17263:32:4;;;17253:43;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;17253:43:4;;;;;;;;;;;;;;;;17246:50;;17158:143;;;;:::o;2742:282::-;2842:10;2811:5;;;;;;;;;;;:15;;;2827:10;2811:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2811:27:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2811:27:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2811:27:4;;;;;;;;;;;;;;;;:41;;2803:50;;;;;;;;2891:10;2859:16;:28;2876:10;2859:28;;;;;;;;;;;;;;;;:42;;;;;;;;;;;2915:5;;;;;;;;;;;:18;;;2934:10;2946:4;2952:10;2915:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2915:48:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2915:48:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2915:48:4;;;;;;;;;;;;;;;;2907:57;;;;;;;;3008:10;2975:44;;;2996:10;2975:44;;;;;;;;;;;;;;;;;;2742:282;:::o;11445:171::-;11508:11;11535:19;11546:7;11535:10;:19::i;:::-;11527:28;;;;;;;;11570:41;11580:7;:16;11588:7;11580:16;;;;;;;;;;;:30;;;11570:9;:41::i;:::-;11569:42;11562:49;;11445:171;;;:::o;12693:172::-;12763:13;12792:19;12803:7;12792:10;:19::i;:::-;12784:28;;;;;;;;12826:7;:16;12834:7;12826:16;;;;;;;;;;;:26;;:34;12853:6;12826:34;;;;;;;;;;;;;;;;;;;;;;;;;12819:41;;12693:172;;;;:::o;6982:1135::-;7563:14;7114:27;7133:7;7114:18;:27::i;:::-;7106:36;;;;;;;;7156:7;:16;7164:7;7156:16;;;;;;;;;;;:26;;:38;7183:10;7156:38;;;;;;;;;;;;;;;;;;;;;;;;;7148:47;;;;;;;;7287:7;:16;7295:7;7287:16;;;;;;;;;;;:26;;:38;7314:10;7287:38;;;;;;;;;;;;;;;;;;;;;;;;;7286:39;7278:48;;;;;;;;7460:34;7474:10;7486:7;7460:13;:34::i;:::-;7409:85;;;7436:11;7449:5;7419:36;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7419:36:4;;;7409:47;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;7409:47:4;;;;;;;;;;;;;;;;:85;;;;7401:94;;;;;;;;7580:33;7593:10;7605:7;7580:12;:33::i;:::-;7563:50;;7639:1;7624:11;:16;7620:183;;;7724:9;7695:7;:16;7703:7;7695:16;;;;;;;;;;;:25;;;:38;;;;;;;;;;;7620:183;;;7787:9;7754:7;:16;7762:7;7754:16;;;;;;;;;;;:29;;;:42;;;;;;;;;;;7620:183;7809:6;:18;7816:10;7809:18;;;;;;;;;;;;;;;:25;;;;7835:7;7809:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7809:34:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7809:34:4;;;;7944:4;7903:7;:16;7911:7;7903:16;;;;;;;;;;;:26;;:38;7930:10;7903:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;8096:10;7960:152;;8083:11;7981:7;7960:152;7996:9;8013:7;:16;8021:7;8013:16;;;;;;;;;;;:25;;;8046:7;:16;8054:7;8046:16;;;;;;;;;;;:29;;;7960:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6982:1135;;;;:::o;8331:467::-;8423:17;8531:18;8583;8659;8456;8466:7;8456:9;:18::i;:::-;8448:27;;;;;;;;8489:7;:16;8497:7;8489:16;;;;;;;;;;;:26;;:34;8516:6;8489:34;;;;;;;;;;;;;;;;;;;;;;;;;8481:43;;;;;;;;8552:17;8561:7;8552:8;:17::i;:::-;:25;;8576:1;8552:25;;;8572:1;8552:25;8531:46;;;;8631:13;8646:5;8614:38;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8614:38:4;;;8604:49;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;8604:49:4;;;;;;;;;;;;;;;;8583:70;;8680:30;8694:6;8702:7;8680:13;:30::i;:::-;8659:51;;8739:10;8725:24;;;:10;:24;;;;8717:33;;;;;;;;8764:29;8777:6;8785:7;8764:12;:29::i;:::-;8757:36;;8331:467;;;;;;;;:::o;13954:165::-;14027:14;14056:5;:18;;;;14075:25;14084:6;14092:7;14075:8;:25::i;:::-;14056:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14056:58:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14056:58:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14056:58:4;;;;;;;;;;;;;;;;14049:65;;13954:165;;;;:::o;13516:180::-;13590:18;13631:5;:18;;;;13650:25;13659:6;13667:7;13650:8;:25::i;:::-;13631:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13631:59:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13631:59:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13631:59:4;;;;;;;;;;;;;;;;13623:68;;13616:75;;13516:180;;;;:::o;16807:131::-;16870:12;16916:16;16898:15;:34;16890:43;;16807:131;;;:::o;3222:353::-;3284:20;3307:61;3340:27;3356:10;3340:15;:27::i;:::-;3307:16;:28;3324:10;3307:28;;;;;;;;;;;;;;;;:32;;:61;;;;:::i;:::-;3284:84;;3401:10;3382:15;:29;;3374:38;;;;;;;;3450:10;3418:16;:28;3435:10;3418:28;;;;;;;;;;;;;;;;:42;;;;;;;;;;;3474:5;;;;;;;;;;;:14;;;3489:10;3501;3474:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3474:38:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3474:38:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3474:38:4;;;;;;;;;;;;;;;;3466:47;;;;;;;;3559:10;3524:46;;;3547:10;3524:46;;;;;;;;;;;;;;;;;;3222:353;;:::o;10997:160::-;11051:10;11077:19;11088:7;11077:10;:19::i;:::-;11069:28;;;;;;;;11111:41;11121:7;:16;11129:7;11121:16;;;;;;;;;;;:30;;;11111:9;:41::i;:::-;11104:48;;10997:160;;;:::o;1995:18::-;;;;;;;;;;;;;:::o;1213:123:7:-;1271:9;1296:1;1292;:5;1288:9;;1315:1;1310;:6;;1303:14;;;;;;1330:1;1323:8;;1213:123;;;;:::o;1041:110::-;1099:7;1126:1;1121;:6;;1114:14;;;;;;1145:1;1141;:5;1134:12;;1041:110;;;;:::o;252:17051:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"./ERC20.sol\";\nimport \"./DLL.sol\";\nimport \"./AttributeStore.sol\";\nimport \"./SafeMath.sol\";\n\n\n/**\n@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes\n*/\ncontract PLCRVoting {\n\n // ============\n // EVENTS:\n // ============\n\n event _VoteCommitted(uint indexed pollID, uint numTokens, address indexed voter);\n event _VoteRevealed(uint indexed pollID, uint numTokens, uint votesFor, uint votesAgainst, uint indexed choice, address indexed voter);\n event _PollCreated(uint voteQuorum, uint commitEndDate, uint revealEndDate, uint indexed pollID, address indexed creator);\n event _VotingRightsGranted(uint numTokens, address indexed voter);\n event _VotingRightsWithdrawn(uint numTokens, address indexed voter);\n event _TokensRescued(uint indexed pollID, address indexed voter);\n\n // ============\n // DATA STRUCTURES:\n // ============\n\n using AttributeStore for AttributeStore.Data;\n using DLL for DLL.Data;\n using SafeMath for uint;\n\n struct Poll {\n uint commitEndDate; /// expiration date of commit period for poll\n uint revealEndDate; /// expiration date of reveal period for poll\n uint voteQuorum; /// number of votes required for a proposal to pass\n uint votesFor; /// tally of votes supporting proposal\n uint votesAgainst; /// tally of votes countering proposal\n mapping(address => bool) didCommit; /// indicates whether an address committed a vote for this poll\n mapping(address => bool) didReveal; /// indicates whether an address revealed a vote for this poll\n }\n\n // ============\n // STATE VARIABLES:\n // ============\n\n uint constant public INITIAL_POLL_NONCE = 0;\n uint public pollNonce;\n\n mapping(uint => Poll) public pollMap; // maps pollID to Poll struct\n mapping(address => uint) public voteTokenBalance; // maps user's address to voteToken balance\n\n mapping(address => DLL.Data) dllMap;\n AttributeStore.Data store;\n\n ERC20 public token;\n\n // ============\n // CONSTRUCTOR:\n // ============\n\n /**\n @dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n @param _tokenAddr The address where the ERC20 token contract is deployed\n */\n constructor(address _tokenAddr) public {\n token = ERC20(_tokenAddr);\n pollNonce = INITIAL_POLL_NONCE;\n }\n\n // ================\n // TOKEN INTERFACE:\n // ================\n\n /**\n @notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n @dev Assumes that msg.sender has approved voting contract to spend on their behalf\n @param _numTokens The number of votingTokens desired in exchange for ERC20 tokens\n */\n function requestVotingRights(uint _numTokens) external {\n require(token.balanceOf(msg.sender) >= _numTokens);\n voteTokenBalance[msg.sender] += _numTokens;\n require(token.transferFrom(msg.sender, this, _numTokens));\n emit _VotingRightsGranted(_numTokens, msg.sender);\n }\n\n /**\n @notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n @param _numTokens The number of ERC20 tokens desired in exchange for voting rights\n */\n function withdrawVotingRights(uint _numTokens) external {\n uint availableTokens = voteTokenBalance[msg.sender].sub(getLockedTokens(msg.sender));\n require(availableTokens >= _numTokens);\n voteTokenBalance[msg.sender] -= _numTokens;\n require(token.transfer(msg.sender, _numTokens));\n emit _VotingRightsWithdrawn(_numTokens, msg.sender);\n }\n\n /**\n @dev Unlocks tokens locked in unrevealed vote where poll has ended\n @param _pollID Integer identifier associated with the target poll\n */\n function rescueTokens(uint _pollID) external {\n require(isExpired(pollMap[_pollID].revealEndDate));\n require(dllMap[msg.sender].contains(_pollID));\n\n dllMap[msg.sender].remove(_pollID);\n emit _TokensRescued(_pollID, msg.sender);\n }\n\n // =================\n // VOTING INTERFACE:\n // =================\n\n /**\n @notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n @param _pollID Integer identifier associated with target poll\n @param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n @param _numTokens The number of tokens to be committed towards the target poll\n @param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens\n */\n function commitVote(\n uint _pollID,\n bytes32 _secretHash,\n uint _numTokens,\n uint _prevPollID\n ) external\n {\n require(commitPeriodActive(_pollID));\n require(voteTokenBalance[msg.sender] >= _numTokens); // prevent user from overspending\n require(_pollID != 0); // prevent user from committing to zero node placeholder\n\n // Check if _prevPollID exists in the user's DLL or if _prevPollID is 0\n require(_prevPollID == 0 || dllMap[msg.sender].contains(_prevPollID));\n\n uint nextPollID = dllMap[msg.sender].getNext(_prevPollID);\n\n // if nextPollID is equal to _pollID, _pollID is being updated,\n nextPollID = (nextPollID == _pollID) ? dllMap[msg.sender].getNext(_pollID) : nextPollID;\n\n require(\n validPosition(\n _prevPollID,\n nextPollID, \n msg.sender,\n _numTokens\n )\n );\n\n dllMap[msg.sender].insert(_prevPollID, _pollID, nextPollID);\n\n bytes32 UUID = attrUUID(msg.sender, _pollID);\n\n store.setAttribute(UUID, \"numTokens\", _numTokens);\n store.setAttribute(UUID, \"commitHash\", uint(_secretHash));\n\n pollMap[_pollID].didCommit[msg.sender] = true;\n emit _VoteCommitted(_pollID, _numTokens, msg.sender);\n }\n\n /**\n @dev Compares previous and next poll's committed tokens for sorting purposes\n @param _prevID Integer identifier associated with previous poll in sorted order\n @param _nextID Integer identifier associated with next poll in sorted order\n @param _voter Address of user to check DLL position for\n @param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n @return valid Boolean indication of if the specified position maintains the sort\n */\n function validPosition(\n uint _prevID,\n uint _nextID,\n address _voter,\n uint _numTokens\n ) public view returns (bool valid)\n {\n bool prevValid = (_numTokens >= getNumTokens(_voter, _prevID));\n // if next is zero node, _numTokens does not need to be greater\n bool nextValid = (_numTokens <= getNumTokens(_voter, _nextID) || _nextID == 0);\n return prevValid && nextValid;\n }\n\n /**\n @notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n @param _pollID Integer identifier associated with target poll\n @param _voteOption Vote choice used to generate commitHash for associated poll\n @param _salt Secret number used to generate commitHash for associated poll\n */\n function revealVote(uint _pollID, uint _voteOption, uint _salt) external {\n // Make sure the reveal period is active\n require(revealPeriodActive(_pollID));\n require(pollMap[_pollID].didCommit[msg.sender]); // make sure user has committed a vote for this poll\n require(!pollMap[_pollID].didReveal[msg.sender]); // prevent user from revealing multiple times\n require(keccak256(abi.encodePacked(_voteOption, _salt)) == getCommitHash(msg.sender, _pollID)); // compare resultant hash from inputs to original commitHash\n\n uint numTokens = getNumTokens(msg.sender, _pollID);\n\n if (_voteOption == 1) {// apply numTokens to appropriate poll choice\n pollMap[_pollID].votesFor += numTokens;\n } else {\n pollMap[_pollID].votesAgainst += numTokens;\n }\n\n dllMap[msg.sender].remove(_pollID); // remove the node referring to this vote upon reveal\n pollMap[_pollID].didReveal[msg.sender] = true;\n\n emit _VoteRevealed(\n _pollID,\n numTokens,\n pollMap[_pollID].votesFor,\n pollMap[_pollID].votesAgainst,\n _voteOption, msg.sender\n );\n }\n\n /**\n @param _pollID Integer identifier associated with target poll\n @param _salt Arbitrarily chosen integer used to generate secretHash\n @return correctVotes Number of tokens voted for winning option\n */\n function getNumPassingTokens(address _voter, uint _pollID, uint _salt) public view returns (uint correctVotes) {\n require(pollEnded(_pollID));\n require(pollMap[_pollID].didReveal[_voter]);\n\n uint winningChoice = isPassed(_pollID) ? 1 : 0;\n bytes32 winnerHash = keccak256(abi.encodePacked(winningChoice, _salt));\n bytes32 commitHash = getCommitHash(_voter, _pollID);\n\n require(winnerHash == commitHash);\n\n return getNumTokens(_voter, _pollID);\n }\n\n // ==================\n // POLLING INTERFACE:\n // ==================\n\n /**\n @dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n @param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n @param _commitDuration Length of desired commit period in seconds\n @param _revealDuration Length of desired reveal period in seconds\n */\n function startPoll(uint _voteQuorum, uint _commitDuration, uint _revealDuration) public returns (uint pollID) {\n pollNonce = pollNonce + 1;\n\n uint commitEndDate = block.timestamp.add(_commitDuration);\n uint revealEndDate = commitEndDate.add(_revealDuration);\n\n pollMap[pollNonce] = Poll({\n voteQuorum: _voteQuorum,\n commitEndDate: commitEndDate,\n revealEndDate: revealEndDate,\n votesFor: 0,\n votesAgainst: 0\n });\n\n emit _PollCreated(\n _voteQuorum,\n commitEndDate,\n revealEndDate,\n pollNonce,\n msg.sender\n );\n\n return pollNonce;\n }\n\n /**\n @notice Determines if proposal has passed\n @dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n @param _pollID Integer identifier associated with target poll\n */\n function isPassed(uint _pollID) view public returns (bool passed) {\n require(pollEnded(_pollID));\n\n Poll memory poll = pollMap[_pollID];\n return (100 * poll.votesFor) > (poll.voteQuorum * (poll.votesFor + poll.votesAgainst));\n }\n\n // ----------------\n // POLLING HELPERS:\n // ----------------\n\n /**\n @dev Gets the total winning votes for reward distribution purposes\n @param _pollID Integer identifier associated with target poll\n @return Total number of votes committed to the winning option for specified poll\n */\n function getTotalNumberOfTokensForWinningOption(uint _pollID) view public returns (uint numTokens) {\n require(pollEnded(_pollID));\n\n if (isPassed(_pollID))\n return pollMap[_pollID].votesFor;\n else\n return pollMap[_pollID].votesAgainst;\n }\n\n /**\n @notice Determines if poll is over\n @dev Checks isExpired for specified poll's revealEndDate\n @return Boolean indication of whether polling period is over\n */\n function pollEnded(uint _pollID) view public returns (bool ended) {\n require(pollExists(_pollID));\n\n return isExpired(pollMap[_pollID].revealEndDate);\n }\n\n /**\n @notice Checks if the commit period is still active for the specified poll\n @dev Checks isExpired for the specified poll's commitEndDate\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of isCommitPeriodActive for target poll\n */\n function commitPeriodActive(uint _pollID) view public returns (bool active) {\n require(pollExists(_pollID));\n\n return !isExpired(pollMap[_pollID].commitEndDate);\n }\n\n /**\n @notice Checks if the reveal period is still active for the specified poll\n @dev Checks isExpired for the specified poll's revealEndDate\n @param _pollID Integer identifier associated with target poll\n */\n function revealPeriodActive(uint _pollID) view public returns (bool active) {\n require(pollExists(_pollID));\n\n return !isExpired(pollMap[_pollID].revealEndDate) && !commitPeriodActive(_pollID);\n }\n\n /**\n @dev Checks if user has committed for specified poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of whether user has committed\n */\n function didCommit(address _voter, uint _pollID) view public returns (bool committed) {\n require(pollExists(_pollID));\n\n return pollMap[_pollID].didCommit[_voter];\n }\n\n /**\n @dev Checks if user has revealed for specified poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of whether user has revealed\n */\n function didReveal(address _voter, uint _pollID) view public returns (bool revealed) {\n require(pollExists(_pollID));\n\n return pollMap[_pollID].didReveal[_voter];\n }\n\n /**\n @dev Checks if a poll exists\n @param _pollID The pollID whose existance is to be evaluated.\n @return Boolean Indicates whether a poll exists for the provided pollID\n */\n function pollExists(uint _pollID) view public returns (bool exists) {\n return (_pollID != 0 && _pollID <= pollNonce);\n }\n\n // ---------------------------\n // DOUBLE-LINKED-LIST HELPERS:\n // ---------------------------\n\n /**\n @dev Gets the bytes32 commitHash property of target poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Bytes32 hash property attached to target poll\n */\n function getCommitHash(address _voter, uint _pollID) view public returns (bytes32 commitHash) {\n return bytes32(store.getAttribute(attrUUID(_voter, _pollID), \"commitHash\"));\n }\n\n /**\n @dev Wrapper for getAttribute with attrName=\"numTokens\"\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Number of tokens committed to poll in sorted poll-linked-list\n */\n function getNumTokens(address _voter, uint _pollID) view public returns (uint numTokens) {\n return store.getAttribute(attrUUID(_voter, _pollID), \"numTokens\");\n }\n\n /**\n @dev Gets top element of sorted poll-linked-list\n @param _voter Address of user to check against\n @return Integer identifier to poll with maximum number of tokens committed to it\n */\n function getLastNode(address _voter) view public returns (uint pollID) {\n return dllMap[_voter].getPrev(0);\n }\n\n /**\n @dev Gets the numTokens property of getLastNode\n @param _voter Address of user to check against\n @return Maximum number of tokens committed in poll specified\n */\n function getLockedTokens(address _voter) view public returns (uint numTokens) {\n return getNumTokens(_voter, getLastNode(_voter));\n }\n\n /*\n @dev Takes the last node in the user's DLL and iterates backwards through the list searching\n for a node with a value less than or equal to the provided _numTokens value. When such a node\n is found, if the provided _pollID matches the found nodeID, this operation is an in-place\n update. In that case, return the previous node of the node being updated. Otherwise return the\n first node that was found with a value less than or equal to the provided _numTokens.\n @param _voter The voter whose DLL will be searched\n @param _numTokens The value for the numTokens attribute in the node to be inserted\n @return the node which the propoded node should be inserted after\n */\n function getInsertPointForNumTokens(address _voter, uint _numTokens, uint _pollID)\n view public returns (uint prevNode)\n {\n // Get the last node in the list and the number of tokens in that node\n uint nodeID = getLastNode(_voter);\n uint tokensInNode = getNumTokens(_voter, nodeID);\n\n // Iterate backwards through the list until reaching the root node\n while (nodeID != 0) {\n // Get the number of tokens in the current node\n tokensInNode = getNumTokens(_voter, nodeID);\n if (tokensInNode <= _numTokens) { // We found the insert point!\n if (nodeID == _pollID) {\n // This is an in-place update. Return the prev node of the node being updated\n nodeID = dllMap[_voter].getPrev(nodeID);\n }\n // Return the insert point\n return nodeID; \n }\n // We did not find the insert point. Continue iterating backwards through the list\n nodeID = dllMap[_voter].getPrev(nodeID);\n }\n\n // The list is empty, or a smaller value than anything else in the list is being inserted\n return nodeID;\n }\n\n // ----------------\n // GENERAL HELPERS:\n // ----------------\n\n /**\n @dev Checks if an expiration date has been reached\n @param _terminationDate Integer timestamp of date to compare current timestamp with\n @return expired Boolean indication of whether the terminationDate has passed\n */\n function isExpired(uint _terminationDate) view public returns (bool expired) {\n return (block.timestamp > _terminationDate);\n }\n\n /**\n @dev Generates an identifier which associates a user and a poll together\n @param _pollID Integer identifier associated with target poll\n @return UUID Hash which is deterministic from _user and _pollID\n */\n function attrUUID(address _user, uint _pollID) public pure returns (bytes32 UUID) {\n return keccak256(abi.encodePacked(_user, _pollID));\n }\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/PLCRVoting.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/PLCRVoting.sol", + "exportedSymbols": { + "PLCRVoting": [ + 1471 + ] + }, + "id": 1472, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 442, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 443, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 409, + "src": "25:21:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/DLL.sol", + "file": "./DLL.sol", + "id": 444, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 366, + "src": "47:19:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/AttributeStore.sol", + "file": "./AttributeStore.sol", + "id": 445, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 65, + "src": "67:30:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 446, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 3688, + "src": "98:24:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes", + "fullyImplemented": true, + "id": 1471, + "linearizedBaseContracts": [ + 1471 + ], + "name": "PLCRVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 454, + "name": "_VoteCommitted", + "nodeType": "EventDefinition", + "parameters": { + "id": 453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 448, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 454, + "src": "348:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 447, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "348:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 450, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 454, + "src": "369:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 449, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "369:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 452, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 454, + "src": "385:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "385:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:60:4" + }, + "src": "327:81:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 468, + "name": "_VoteRevealed", + "nodeType": "EventDefinition", + "parameters": { + "id": 467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 456, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "431:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "431:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 458, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "452:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 457, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "452:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 460, + "indexed": false, + "name": "votesFor", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "468:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 459, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "468:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 462, + "indexed": false, + "name": "votesAgainst", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "483:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 461, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "483:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 464, + "indexed": true, + "name": "choice", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "502:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 463, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "502:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 466, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "523:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "523:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "430:115:4" + }, + "src": "411:135:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 480, + "name": "_PollCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 470, + "indexed": false, + "name": "voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "568:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 469, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "568:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 472, + "indexed": false, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "585:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 471, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "585:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 474, + "indexed": false, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "605:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 473, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "605:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 476, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "625:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 475, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "625:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 478, + "indexed": true, + "name": "creator", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "646:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 477, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "646:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "567:103:4" + }, + "src": "549:122:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 486, + "name": "_VotingRightsGranted", + "nodeType": "EventDefinition", + "parameters": { + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 482, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 486, + "src": "701:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 481, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "701:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 484, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 486, + "src": "717:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "717:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "700:39:4" + }, + "src": "674:66:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 492, + "name": "_VotingRightsWithdrawn", + "nodeType": "EventDefinition", + "parameters": { + "id": 491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 488, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "772:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "772:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 490, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "788:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "788:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "771:39:4" + }, + "src": "743:68:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 498, + "name": "_TokensRescued", + "nodeType": "EventDefinition", + "parameters": { + "id": 497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 494, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 498, + "src": "835:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 493, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "835:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 496, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 498, + "src": "856:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "834:44:4" + }, + "src": "814:65:4" + }, + { + "id": 501, + "libraryName": { + "contractScope": null, + "id": 499, + "name": "AttributeStore", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 64, + "src": "948:14:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AttributeStore_$64", + "typeString": "library AttributeStore" + } + }, + "nodeType": "UsingForDirective", + "src": "942:45:4", + "typeName": { + "contractScope": null, + "id": 500, + "name": "AttributeStore.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "967:19:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + } + }, + { + "id": 504, + "libraryName": { + "contractScope": null, + "id": 502, + "name": "DLL", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 365, + "src": "996:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DLL_$365", + "typeString": "library DLL" + } + }, + "nodeType": "UsingForDirective", + "src": "990:23:4", + "typeName": { + "contractScope": null, + "id": 503, + "name": "DLL.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1004:8:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + } + }, + { + "id": 507, + "libraryName": { + "contractScope": null, + "id": 505, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3687, + "src": "1022:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3687", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "1016:24:4", + "typeName": { + "id": 506, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1035:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "canonicalName": "PLCRVoting.Poll", + "id": 526, + "members": [ + { + "constant": false, + "id": 509, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1062:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 508, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1062:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 511, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1136:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 510, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1136:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 513, + "name": "voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1210:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 512, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1210:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 515, + "name": "votesFor", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1286:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 514, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1286:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 517, + "name": "votesAgainst", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1347:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 516, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1347:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 521, + "name": "didCommit", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1414:34:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 520, + "keyType": { + "id": 518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1422:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1414:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 519, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1433:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 525, + "name": "didReveal", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1519:34:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 524, + "keyType": { + "id": 522, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1527:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1519:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 523, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1538:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Poll", + "nodeType": "StructDefinition", + "scope": 1471, + "src": "1044:579:4", + "visibility": "public" + }, + { + "constant": true, + "id": 529, + "name": "INITIAL_POLL_NONCE", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1686:43:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1686:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30", + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1728:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 531, + "name": "pollNonce", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1733:21:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 530, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1733:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 535, + "name": "pollMap", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1759:36:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" + }, + "typeName": { + "id": 534, + "keyType": { + "id": 532, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1767:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1759:21:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" + }, + "valueType": { + "contractScope": null, + "id": 533, + "name": "Poll", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 526, + "src": "1775:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage_ptr", + "typeString": "struct PLCRVoting.Poll" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 539, + "name": "voteTokenBalance", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1829:48:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 538, + "keyType": { + "id": 536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1837:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1829:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 537, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1848:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 543, + "name": "dllMap", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1926:35:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data)" + }, + "typeName": { + "id": 542, + "keyType": { + "id": 540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1934:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1926:28:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data)" + }, + "valueType": { + "contractScope": null, + "id": 541, + "name": "DLL.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1945:8:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 545, + "name": "store", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1965:25:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data" + }, + "typeName": { + "contractScope": null, + "id": 544, + "name": "AttributeStore.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "1965:19:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 547, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1995:18:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 546, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 408, + "src": "1995:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 562, + "nodeType": "Block", + "src": "2325:72:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 552, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "2331:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 554, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "2345:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 553, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "2339:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$408_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "src": "2331:25:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 557, + "nodeType": "ExpressionStatement", + "src": "2331:25:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 558, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "2362:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 559, + "name": "INITIAL_POLL_NONCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "2374:18:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2362:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "2362:30:4" + } + ] + }, + "documentation": "@dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n@param _tokenAddr The address where the ERC20 token contract is deployed", + "id": 563, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 549, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "2298:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 548, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2298:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2297:20:4" + }, + "payable": false, + "returnParameters": { + "id": 551, + "nodeType": "ParameterList", + "parameters": [], + "src": "2325:0:4" + }, + "scope": 1471, + "src": "2286:111:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 601, + "nodeType": "Block", + "src": "2797:227:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 571, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "2827:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2827:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 569, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "2811:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 422, + "src": "2811:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2811:27:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 574, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2842:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2811:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 568, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "2803:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2803:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 577, + "nodeType": "ExpressionStatement", + "src": "2803:50:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 578, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "2859:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 581, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 579, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "2876:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2876:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2859:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 582, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2891:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2859:42:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "2859:42:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 588, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "2934:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2934:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 590, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "2946:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + { + "argumentTypes": null, + "id": 591, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2952:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 586, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "2915:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "2915:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2915:48:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 585, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "2907:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2907:57:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 594, + "nodeType": "ExpressionStatement", + "src": "2907:57:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 596, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2996:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 597, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3008:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3008:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 595, + "name": "_VotingRightsGranted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 486, + "src": "2975:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2975:44:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 600, + "nodeType": "EmitStatement", + "src": "2970:49:4" + } + ] + }, + "documentation": "@notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n@dev Assumes that msg.sender has approved voting contract to spend on their behalf\n@param _numTokens The number of votingTokens desired in exchange for ERC20 tokens", + "id": 602, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "requestVotingRights", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 565, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "2771:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 564, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2771:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2770:17:4" + }, + "payable": false, + "returnParameters": { + "id": 567, + "nodeType": "ParameterList", + "parameters": [], + "src": "2797:0:4" + }, + "scope": 1471, + "src": "2742:282:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 648, + "nodeType": "Block", + "src": "3278:297:4", + "statements": [ + { + "assignments": [ + 608 + ], + "declarations": [ + { + "constant": false, + "id": 608, + "name": "availableTokens", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "3284:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 607, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3284:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 619, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 615, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3356:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3356:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 614, + "name": "getLockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "3340:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3340:27:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 609, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "3307:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 612, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 610, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3324:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3324:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3307:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3662, + "src": "3307:32:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3307:61:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3284:84:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 621, + "name": "availableTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "3382:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 622, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3401:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3382:29:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 620, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3374:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3374:38:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 625, + "nodeType": "ExpressionStatement", + "src": "3374:38:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 626, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "3418:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 629, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 627, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3435:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3435:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3418:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 630, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3450:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3418:42:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 632, + "nodeType": "ExpressionStatement", + "src": "3418:42:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 636, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3489:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3489:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 638, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3501:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 634, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "3474:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "3474:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3474:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 633, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3466:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3466:47:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 641, + "nodeType": "ExpressionStatement", + "src": "3466:47:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 643, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3547:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 644, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3559:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3559:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 642, + "name": "_VotingRightsWithdrawn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "3524:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3524:46:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 647, + "nodeType": "EmitStatement", + "src": "3519:51:4" + } + ] + }, + "documentation": "@notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n@param _numTokens The number of ERC20 tokens desired in exchange for voting rights", + "id": 649, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdrawVotingRights", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 604, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "3252:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 603, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3252:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3251:17:4" + }, + "payable": false, + "returnParameters": { + "id": 606, + "nodeType": "ParameterList", + "parameters": [], + "src": "3278:0:4" + }, + "scope": 1471, + "src": "3222:353:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 687, + "nodeType": "Block", + "src": "3772:199:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 656, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "3796:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 658, + "indexExpression": { + "argumentTypes": null, + "id": 657, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3804:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3796:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 659, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 511, + "src": "3796:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 655, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "3786:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3786:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 654, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3778:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3778:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 662, + "nodeType": "ExpressionStatement", + "src": "3778:50:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 669, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3870:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 664, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "3842:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 667, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 665, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3849:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3849:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3842:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 153, + "src": "3842:27:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3842:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 663, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3834:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3834:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 672, + "nodeType": "ExpressionStatement", + "src": "3834:45:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 678, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3912:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 673, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "3886:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 676, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 674, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3893:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3893:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3886:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 364, + "src": "3886:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256)" + } + }, + "id": 679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3886:34:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 680, + "nodeType": "ExpressionStatement", + "src": "3886:34:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 682, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3946:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 683, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3955:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3955:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 681, + "name": "_TokensRescued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 498, + "src": "3931:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3931:35:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 686, + "nodeType": "EmitStatement", + "src": "3926:40:4" + } + ] + }, + "documentation": "@dev Unlocks tokens locked in unrevealed vote where poll has ended\n@param _pollID Integer identifier associated with the target poll", + "id": 688, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rescueTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 652, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 651, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 688, + "src": "3749:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 650, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3749:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3748:14:4" + }, + "payable": false, + "returnParameters": { + "id": 653, + "nodeType": "ParameterList", + "parameters": [], + "src": "3772:0:4" + }, + "scope": 1471, + "src": "3727:244:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 823, + "nodeType": "Block", + "src": "4655:1092:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 701, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "4688:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 700, + "name": "commitPeriodActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "4669:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4669:27:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 699, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4661:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4661:36:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 704, + "nodeType": "ExpressionStatement", + "src": "4661:36:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 706, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "4711:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 709, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 707, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4728:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4728:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4711:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 710, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "4743:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4711:42:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 705, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4703:7:4", + "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": "4703:51:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 713, + "nodeType": "ExpressionStatement", + "src": "4703:51:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 715, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "4802:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4813:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4802:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 714, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4794:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4794:21:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 719, + "nodeType": "ExpressionStatement", + "src": "4794:21:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 721, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "4978:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4993:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4978:16:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 729, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5026:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 724, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "4998:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 727, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 725, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5005:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5005:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4998:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 728, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 153, + "src": "4998:27:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4998:40:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4978:60:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 720, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4970:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4970:69:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 733, + "nodeType": "ExpressionStatement", + "src": "4970:69:4" + }, + { + "assignments": [ + 735 + ], + "declarations": [ + { + "constant": false, + "id": 735, + "name": "nextPollID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "5046:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 734, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5046:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 743, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 741, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5091:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 736, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5064:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 739, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 737, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5071:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5071:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5064:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getNext", + "nodeType": "MemberAccess", + "referencedDeclaration": 169, + "src": "5064:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5064:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5046:57:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 744, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5178:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 745, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5192:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 746, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5206:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5192:21:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 748, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5191:23:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 756, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5255:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "5191:74:4", + "trueExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 754, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5244:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 749, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5217:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 752, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 750, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5224:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5224:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5217:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getNext", + "nodeType": "MemberAccess", + "referencedDeclaration": 169, + "src": "5217:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5217:35:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5178:87:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 759, + "nodeType": "ExpressionStatement", + "src": "5178:87:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 762, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5310:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 763, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5331:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 764, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5352:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5352:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 766, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "5372:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 761, + "name": "validPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "5287:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256,address,uint256) view returns (bool)" + } + }, + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5287:103:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 760, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5272:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5272:124:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 769, + "nodeType": "ExpressionStatement", + "src": "5272:124:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 775, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5429:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 776, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 777, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5451:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 770, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5403:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 773, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 771, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5410:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5410:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5403:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 774, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "insert", + "nodeType": "MemberAccess", + "referencedDeclaration": 310, + "src": "5403:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256,uint256,uint256)" + } + }, + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5403:59:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 779, + "nodeType": "ExpressionStatement", + "src": "5403:59:4" + }, + { + "assignments": [ + 781 + ], + "declarations": [ + { + "constant": false, + "id": 781, + "name": "UUID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "5469:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 780, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5469:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 787, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 783, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5493:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5493:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 785, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5505:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 782, + "name": "attrUUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "5484:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5484:29:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5469:44:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 791, + "name": "UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "5539:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "6e756d546f6b656e73", + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5545:11:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + }, + "value": "numTokens" + }, + { + "argumentTypes": null, + "id": 793, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "5558:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 788, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5520:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "setAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "5520:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" + } + }, + "id": 794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5520:49:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 795, + "nodeType": "ExpressionStatement", + "src": "5520:49:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 799, + "name": "UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "5594:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "636f6d6d697448617368", + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5600:12:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + }, + "value": "commitHash" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 802, + "name": "_secretHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 692, + "src": "5619:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5614:4:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5614:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 796, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5575:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 798, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "setAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "5575:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5575:57:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 805, + "nodeType": "ExpressionStatement", + "src": "5575:57:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 806, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "5639:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 808, + "indexExpression": { + "argumentTypes": null, + "id": 807, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5647:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5639:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 809, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didCommit", + "nodeType": "MemberAccess", + "referencedDeclaration": 521, + "src": "5639:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 812, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 810, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5666:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5666:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5639:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5680:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5639:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 815, + "nodeType": "ExpressionStatement", + "src": "5639:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 817, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5710:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 818, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "5719:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 819, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5731:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5731:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 816, + "name": "_VoteCommitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "5695:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,address)" + } + }, + "id": 821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5695:47:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 822, + "nodeType": "EmitStatement", + "src": "5690:52:4" + } + ] + }, + "documentation": "@notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n@param _pollID Integer identifier associated with target poll\n@param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n@param _numTokens The number of tokens to be committed towards the target poll\n@param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens", + "id": 824, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "commitVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 690, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4559:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 689, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4559:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 692, + "name": "_secretHash", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4577:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4577:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 694, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4602:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 693, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4602:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 696, + "name": "_prevPollID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4623:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 695, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4623:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4553:90:4" + }, + "payable": false, + "returnParameters": { + "id": 698, + "nodeType": "ParameterList", + "parameters": [], + "src": "4655:0:4" + }, + "scope": 1471, + "src": "4534:1213:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 865, + "nodeType": "Block", + "src": "6374:260:4", + "statements": [ + { + "assignments": [ + 838 + ], + "declarations": [ + { + "constant": false, + "id": 838, + "name": "prevValid", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6380:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 837, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6380:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 846, + "initialValue": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 839, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "6398:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 841, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "6425:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 842, + "name": "_prevID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 826, + "src": "6433:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 840, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "6412:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6412:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6398:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 845, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6397:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6380:62:4" + }, + { + "assignments": [ + 848 + ], + "declarations": [ + { + "constant": false, + "id": 848, + "name": "nextValid", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6516:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 847, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6516:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 860, + "initialValue": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 849, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "6534:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 851, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "6561:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 852, + "name": "_nextID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "6569:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 850, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "6548:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6548:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6534:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 855, + "name": "_nextID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "6581:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6592:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6581:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6534:59:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 859, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6533:61:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6516:78:4" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 861, + "name": "prevValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "6607:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 862, + "name": "nextValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "6620:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6607:22:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 836, + "id": 864, + "nodeType": "Return", + "src": "6600:29:4" + } + ] + }, + "documentation": "@dev Compares previous and next poll's committed tokens for sorting purposes\n@param _prevID Integer identifier associated with previous poll in sorted order\n@param _nextID Integer identifier associated with next poll in sorted order\n@param _voter Address of user to check DLL position for\n@param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n@return valid Boolean indication of if the specified position maintains the sort", + "id": 866, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "validPosition", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 826, + "name": "_prevID", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6263:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 825, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6263:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 828, + "name": "_nextID", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6281:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 827, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6281:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 830, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6299:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6299:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 832, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6319:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 831, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6319:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6257:81:4" + }, + "payable": false, + "returnParameters": { + "id": 836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 835, + "name": "valid", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6360:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 834, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6360:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6359:12:4" + }, + "scope": 1471, + "src": "6235:399:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 980, + "nodeType": "Block", + "src": "7055:1062:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 877, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7133:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 876, + "name": "revealPeriodActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1236, + "src": "7114:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7114:27:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 875, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7106:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7106:36:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 880, + "nodeType": "ExpressionStatement", + "src": "7106:36:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 882, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7156:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 884, + "indexExpression": { + "argumentTypes": null, + "id": 883, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7164:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7156:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 885, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didCommit", + "nodeType": "MemberAccess", + "referencedDeclaration": 521, + "src": "7156:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 888, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 886, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7183:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7183:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7156:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 881, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7148:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7148:47:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 890, + "nodeType": "ExpressionStatement", + "src": "7148:47:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "7286:39:4", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 892, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7287:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 894, + "indexExpression": { + "argumentTypes": null, + "id": 893, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7295:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7287:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "7287:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 898, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 896, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7314:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7314:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7287:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7278:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7278:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 901, + "nodeType": "ExpressionStatement", + "src": "7278:48:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 906, + "name": "_voteOption", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "7436:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 907, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "7449:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 904, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "7419:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7419:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7419:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 903, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "7409:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7409:47:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 911, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7474:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7474:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 913, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7486:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 910, + "name": "getCommitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1320, + "src": "7460:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) view returns (bytes32)" + } + }, + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7460:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7409:85:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 902, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7401:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7401:94:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 917, + "nodeType": "ExpressionStatement", + "src": "7401:94:4" + }, + { + "assignments": [ + 919 + ], + "declarations": [ + { + "constant": false, + "id": 919, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7563:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 918, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7563:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 925, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 921, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7593:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7593:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 923, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7605:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 920, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "7580:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7580:33:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7563:50:4" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 926, + "name": "_voteOption", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "7624:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7639:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7624:16:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 944, + "nodeType": "Block", + "src": "7746:57:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 937, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7754:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 939, + "indexExpression": { + "argumentTypes": null, + "id": 938, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7762:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7754:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "7754:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 941, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "7787:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7754:42:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 943, + "nodeType": "ExpressionStatement", + "src": "7754:42:4" + } + ] + }, + "id": 945, + "nodeType": "IfStatement", + "src": "7620:183:4", + "trueBody": { + "id": 936, + "nodeType": "Block", + "src": "7642:98:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 929, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7695:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 931, + "indexExpression": { + "argumentTypes": null, + "id": 930, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7703:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7695:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 932, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "7695:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 933, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "7724:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7695:38:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 935, + "nodeType": "ExpressionStatement", + "src": "7695:38:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 951, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7835:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 946, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "7809:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 949, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 947, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7816:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7816:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7809:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 364, + "src": "7809:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256)" + } + }, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7809:34:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 953, + "nodeType": "ExpressionStatement", + "src": "7809:34:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 954, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7903:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 956, + "indexExpression": { + "argumentTypes": null, + "id": 955, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7911:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7903:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "7903:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 960, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 958, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7930:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7930:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7903:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7944:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7903:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 963, + "nodeType": "ExpressionStatement", + "src": "7903:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 965, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7981:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 966, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "7996:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 967, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "8013:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 969, + "indexExpression": { + "argumentTypes": null, + "id": 968, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "8021:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8013:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 970, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "8013:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 971, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "8046:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 973, + "indexExpression": { + "argumentTypes": null, + "id": 972, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "8054:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8046:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "8046:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 975, + "name": "_voteOption", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "8083:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 976, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "8096:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8096:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "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_address", + "typeString": "address" + } + ], + "id": 964, + "name": "_VoteRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 468, + "src": "7960:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,address)" + } + }, + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7960:152:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 979, + "nodeType": "EmitStatement", + "src": "7955:157:4" + } + ] + }, + "documentation": "@notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n@param _pollID Integer identifier associated with target poll\n@param _voteOption Vote choice used to generate commitHash for associated poll\n@param _salt Secret number used to generate commitHash for associated poll", + "id": 981, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 868, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7002:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 867, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7002:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "name": "_voteOption", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7016:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 869, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7016:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 872, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7034:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 871, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7034:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7001:44:4" + }, + "payable": false, + "returnParameters": { + "id": 874, + "nodeType": "ParameterList", + "parameters": [], + "src": "7055:0:4" + }, + "scope": 1471, + "src": "6982:1135:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1044, + "nodeType": "Block", + "src": "8442:356:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 994, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8466:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 993, + "name": "pollEnded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "8456:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8456:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 992, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8448:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8448:27:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 997, + "nodeType": "ExpressionStatement", + "src": "8448:27:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 999, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "8489:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1001, + "indexExpression": { + "argumentTypes": null, + "id": 1000, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8497:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8489:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1002, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "8489:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1004, + "indexExpression": { + "argumentTypes": null, + "id": 1003, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 983, + "src": "8516:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8489:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 998, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8481:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8481:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1006, + "nodeType": "ExpressionStatement", + "src": "8481:43:4" + }, + { + "assignments": [ + 1008 + ], + "declarations": [ + { + "constant": false, + "id": 1008, + "name": "winningChoice", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8531:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1007, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8531:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1015, + "initialValue": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1010, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8561:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1009, + "name": "isPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "8552:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8552:17:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8576:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 1014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "8552:25:4", + "trueExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8572:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8531:46:4" + }, + { + "assignments": [ + 1017 + ], + "declarations": [ + { + "constant": false, + "id": 1017, + "name": "winnerHash", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8583:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1016, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8583:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1025, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1021, + "name": "winningChoice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "8631:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1022, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "8646:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "8614:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8614:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8614:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1018, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "8604:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8604:49:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8583:70:4" + }, + { + "assignments": [ + 1027 + ], + "declarations": [ + { + "constant": false, + "id": 1027, + "name": "commitHash", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8659:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1026, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8659:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1032, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1029, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 983, + "src": "8694:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1030, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8702:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1028, + "name": "getCommitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1320, + "src": "8680:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) view returns (bytes32)" + } + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8680:30:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8659:51:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1034, + "name": "winnerHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1017, + "src": "8725:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1035, + "name": "commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1027, + "src": "8739:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8725:24:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1033, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8717:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8717:33:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1038, + "nodeType": "ExpressionStatement", + "src": "8717:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1040, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 983, + "src": "8777:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1041, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8785:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1039, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "8764:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8764:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 991, + "id": 1043, + "nodeType": "Return", + "src": "8757:36:4" + } + ] + }, + "documentation": "@param _pollID Integer identifier associated with target poll\n@param _salt Arbitrarily chosen integer used to generate secretHash\n@return correctVotes Number of tokens voted for winning option", + "id": 1045, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNumPassingTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 983, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8360:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8360:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 985, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8376:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 984, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8376:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 987, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8390:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 986, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8390:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8359:42:4" + }, + "payable": false, + "returnParameters": { + "id": 991, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 990, + "name": "correctVotes", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8423:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 989, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8423:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8422:19:4" + }, + "scope": 1471, + "src": "8331:467:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1100, + "nodeType": "Block", + "src": "9327:495:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1056, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9333:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1057, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9345:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9357:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9345:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9333:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1061, + "nodeType": "ExpressionStatement", + "src": "9333:25:4" + }, + { + "assignments": [ + 1063 + ], + "declarations": [ + { + "constant": false, + "id": 1063, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9365:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1062, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9365:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1069, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1067, + "name": "_commitDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1049, + "src": "9406:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1064, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3692, + "src": "9386:5:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9386:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "9386:19:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9386:36:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9365:57:4" + }, + { + "assignments": [ + 1071 + ], + "declarations": [ + { + "constant": false, + "id": 1071, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9428:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9428:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1076, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1074, + "name": "_revealDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1051, + "src": "9467:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1072, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "9449:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "9449:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9449:34:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9428:55:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1077, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "9490:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1079, + "indexExpression": { + "argumentTypes": null, + "id": 1078, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9498:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9490:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1081, + "name": "_voteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1047, + "src": "9536:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1082, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "9570:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1083, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "9606:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9637:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9660:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": null, + "id": 1080, + "name": "Poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9511:4:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Poll_$526_storage_ptr_$", + "typeString": "type(struct PLCRVoting.Poll storage pointer)" + } + }, + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "voteQuorum", + "commitEndDate", + "revealEndDate", + "votesFor", + "votesAgainst" + ], + "nodeType": "FunctionCall", + "src": "9511:157:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "src": "9490:178:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1088, + "nodeType": "ExpressionStatement", + "src": "9490:178:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1090, + "name": "_voteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1047, + "src": "9700:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1091, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "9719:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1092, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "9740:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1093, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9761:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1094, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9778:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9778:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1089, + "name": "_PollCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 480, + "src": "9680:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,address)" + } + }, + "id": 1096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9680:114:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1097, + "nodeType": "EmitStatement", + "src": "9675:119:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1098, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9808:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1055, + "id": 1099, + "nodeType": "Return", + "src": "9801:16:4" + } + ] + }, + "documentation": "@dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n@param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n@param _commitDuration Length of desired commit period in seconds\n@param _revealDuration Length of desired reveal period in seconds", + "id": 1101, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startPoll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1047, + "name": "_voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9236:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1046, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9236:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1049, + "name": "_commitDuration", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9254:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1048, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9254:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1051, + "name": "_revealDuration", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9276:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1050, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9276:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9235:62:4" + }, + "payable": false, + "returnParameters": { + "id": 1055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1054, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9314:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1053, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9314:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9313:13:4" + }, + "scope": 1471, + "src": "9217:605:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1137, + "nodeType": "Block", + "src": "10095:172:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1110, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1103, + "src": "10119:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1109, + "name": "pollEnded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "10109:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10109:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1108, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "10101:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10101:27:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1113, + "nodeType": "ExpressionStatement", + "src": "10101:27:4" + }, + { + "assignments": [ + 1115 + ], + "declarations": [ + { + "constant": false, + "id": 1115, + "name": "poll", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "10135:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll" + }, + "typeName": { + "contractScope": null, + "id": 1114, + "name": "Poll", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 526, + "src": "10135:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage_ptr", + "typeString": "struct PLCRVoting.Poll" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1119, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1116, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "10154:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1118, + "indexExpression": { + "argumentTypes": null, + "id": 1117, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1103, + "src": "10162:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10154:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10135:35:4" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 1120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10184:3:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1121, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10190:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1122, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "10190:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10184:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1124, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10183:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1125, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10208:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1126, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voteQuorum", + "nodeType": "MemberAccess", + "referencedDeclaration": 513, + "src": "10208:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1127, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10227:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1128, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "10227:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1129, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10243:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "10243:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10227:33:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1132, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10226:35:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10208:53:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1134, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10207:55:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10183:79:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1107, + "id": 1136, + "nodeType": "Return", + "src": "10176:86:4" + } + ] + }, + "documentation": "@notice Determines if proposal has passed\n@dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n@param _pollID Integer identifier associated with target poll", + "id": 1138, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isPassed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1103, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "10047:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1102, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10047:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10046:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1106, + "name": "passed", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "10082:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1105, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10082:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10081:13:4" + }, + "scope": 1471, + "src": "10029:238:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1165, + "nodeType": "Block", + "src": "10664:159:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1147, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10688:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1146, + "name": "pollEnded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "10678:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10678:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "10670:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10670:27:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1150, + "nodeType": "ExpressionStatement", + "src": "10670:27:4" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1152, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10717:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1151, + "name": "isPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "10708:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10708:17:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1159, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "10789:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1161, + "indexExpression": { + "argumentTypes": null, + "id": 1160, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10797:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10789:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "10789:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1144, + "id": 1163, + "nodeType": "Return", + "src": "10782:36:4" + }, + "id": 1164, + "nodeType": "IfStatement", + "src": "10704:114:4", + "trueBody": { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1154, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "10740:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1156, + "indexExpression": { + "argumentTypes": null, + "id": 1155, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10748:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10740:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "10740:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1144, + "id": 1158, + "nodeType": "Return", + "src": "10733:32:4" + } + } + ] + }, + "documentation": "@dev Gets the total winning votes for reward distribution purposes\n@param _pollID Integer identifier associated with target poll\n@return Total number of votes committed to the winning option for specified poll", + "id": 1166, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalNumberOfTokensForWinningOption", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1140, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1166, + "src": "10613:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1139, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10613:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10612:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1143, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 1166, + "src": "10648:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1142, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10648:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10647:16:4" + }, + "scope": 1471, + "src": "10565:258:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1186, + "nodeType": "Block", + "src": "11063:94:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1175, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "11088:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1174, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "11077:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11077:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1173, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "11069:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11069:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1178, + "nodeType": "ExpressionStatement", + "src": "11069:28:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1180, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "11121:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1182, + "indexExpression": { + "argumentTypes": null, + "id": 1181, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "11129:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11121:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 511, + "src": "11121:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1179, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "11111:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11111:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1172, + "id": 1185, + "nodeType": "Return", + "src": "11104:48:4" + } + ] + }, + "documentation": "@notice Determines if poll is over\n@dev Checks isExpired for specified poll's revealEndDate\n@return Boolean indication of whether polling period is over", + "id": 1187, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "pollEnded", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1168, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1187, + "src": "11016:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1167, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11016:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11015:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1171, + "name": "ended", + "nodeType": "VariableDeclaration", + "scope": 1187, + "src": "11051:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1170, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11051:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11050:12:4" + }, + "scope": 1471, + "src": "10997:160:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1208, + "nodeType": "Block", + "src": "11521:95:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1196, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1189, + "src": "11546:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1195, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "11535:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11535:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1194, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "11527:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11527:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1199, + "nodeType": "ExpressionStatement", + "src": "11527:28:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11569:42:4", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1201, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "11580:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1203, + "indexExpression": { + "argumentTypes": null, + "id": 1202, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1189, + "src": "11588:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11580:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commitEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 509, + "src": "11580:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1200, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "11570:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11570:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1193, + "id": 1207, + "nodeType": "Return", + "src": "11562:49:4" + } + ] + }, + "documentation": "@notice Checks if the commit period is still active for the specified poll\n@dev Checks isExpired for the specified poll's commitEndDate\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of isCommitPeriodActive for target poll", + "id": 1209, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "commitPeriodActive", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1189, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1209, + "src": "11473:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1188, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11473:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11472:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1192, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 1209, + "src": "11508:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1191, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11508:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11507:13:4" + }, + "scope": 1471, + "src": "11445:171:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1235, + "nodeType": "Block", + "src": "11911:127:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1218, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1211, + "src": "11936:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1217, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "11925:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11925:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "11917:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11917:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1221, + "nodeType": "ExpressionStatement", + "src": "11917:28:4" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11959:42:4", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1223, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "11970:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1225, + "indexExpression": { + "argumentTypes": null, + "id": 1224, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1211, + "src": "11978:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11970:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 511, + "src": "11970:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1222, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "11960:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11960:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "12005:28:4", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1230, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1211, + "src": "12025:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1229, + "name": "commitPeriodActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "12006:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12006:27:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11959:74:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1215, + "id": 1234, + "nodeType": "Return", + "src": "11952:81:4" + } + ] + }, + "documentation": "@notice Checks if the reveal period is still active for the specified poll\n@dev Checks isExpired for the specified poll's revealEndDate\n@param _pollID Integer identifier associated with target poll", + "id": 1236, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "revealPeriodActive", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1211, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "11863:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1210, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11863:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11862:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1214, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "11898:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1213, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11898:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11897:13:4" + }, + "scope": 1471, + "src": "11835:203:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1258, + "nodeType": "Block", + "src": "12366:87:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1247, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1240, + "src": "12391:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1246, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "12380:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12380:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1245, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "12372:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12372:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1250, + "nodeType": "ExpressionStatement", + "src": "12372:28:4" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1251, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "12414:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1253, + "indexExpression": { + "argumentTypes": null, + "id": 1252, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1240, + "src": "12422:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12414:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1254, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didCommit", + "nodeType": "MemberAccess", + "referencedDeclaration": 521, + "src": "12414:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1256, + "indexExpression": { + "argumentTypes": null, + "id": 1255, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1238, + "src": "12441:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12414:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1244, + "id": 1257, + "nodeType": "Return", + "src": "12407:41:4" + } + ] + }, + "documentation": "@dev Checks if user has committed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has committed", + "id": 1259, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "didCommit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1238, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1259, + "src": "12299:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12299:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1259, + "src": "12315:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12315:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12298:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1243, + "name": "committed", + "nodeType": "VariableDeclaration", + "scope": 1259, + "src": "12350:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1242, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12350:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12349:16:4" + }, + "scope": 1471, + "src": "12280:173:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1281, + "nodeType": "Block", + "src": "12778:87:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1270, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1263, + "src": "12803:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1269, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "12792:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12792:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "12784:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12784:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1273, + "nodeType": "ExpressionStatement", + "src": "12784:28:4" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1274, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "12826:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1276, + "indexExpression": { + "argumentTypes": null, + "id": 1275, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1263, + "src": "12834:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12826:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "12826:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1279, + "indexExpression": { + "argumentTypes": null, + "id": 1278, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "12853:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12826:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1267, + "id": 1280, + "nodeType": "Return", + "src": "12819:41:4" + } + ] + }, + "documentation": "@dev Checks if user has revealed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has revealed", + "id": 1282, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "didReveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1261, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1282, + "src": "12712:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12712:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1263, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1282, + "src": "12728:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1262, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12728:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12711:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1266, + "name": "revealed", + "nodeType": "VariableDeclaration", + "scope": 1282, + "src": "12763:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1265, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12763:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12762:15:4" + }, + "scope": 1471, + "src": "12693:172:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1298, + "nodeType": "Block", + "src": "13117:56:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1289, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "13131:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13142:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13131:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1292, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "13147:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1293, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "13158:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13147:20:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13131:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1296, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13130:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1288, + "id": 1297, + "nodeType": "Return", + "src": "13123:45:4" + } + ] + }, + "documentation": "@dev Checks if a poll exists\n@param _pollID The pollID whose existance is to be evaluated.\n@return Boolean Indicates whether a poll exists for the provided pollID", + "id": 1299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "pollExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1284, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1299, + "src": "13069:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1283, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13069:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13068:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1287, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1299, + "src": "13104:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1286, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13104:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13103:13:4" + }, + "scope": 1471, + "src": "13049:124:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1319, + "nodeType": "Block", + "src": "13610:86:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1312, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1301, + "src": "13659:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1313, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "13667:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1311, + "name": "attrUUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "13650:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13650:25:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "636f6d6d697448617368", + "id": 1315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13677:12:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + }, + "value": "commitHash" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1309, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "13631:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 1310, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 33, + "src": "13631:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13631:59:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13623:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13623:68:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1307, + "id": 1318, + "nodeType": "Return", + "src": "13616:75:4" + } + ] + }, + "documentation": "@dev Gets the bytes32 commitHash property of target poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Bytes32 hash property attached to target poll", + "id": 1320, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCommitHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1301, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "13539:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13539:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1303, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "13555:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1302, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13555:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13538:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1306, + "name": "commitHash", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "13590:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1305, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13590:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13589:20:4" + }, + "scope": 1471, + "src": "13516:180:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1338, + "nodeType": "Block", + "src": "14043:76:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1332, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1322, + "src": "14084:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1333, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1324, + "src": "14092:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1331, + "name": "attrUUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "14075:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 1334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14075:25:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "6e756d546f6b656e73", + "id": 1335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14102:11:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + }, + "value": "numTokens" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1329, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "14056:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 1330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 33, + "src": "14056:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" + } + }, + "id": 1336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14056:58:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1328, + "id": 1337, + "nodeType": "Return", + "src": "14049:65:4" + } + ] + }, + "documentation": "@dev Wrapper for getAttribute with attrName=\"numTokens\"\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Number of tokens committed to poll in sorted poll-linked-list", + "id": 1339, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNumTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1322, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1339, + "src": "13976:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13976:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1324, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1339, + "src": "13992:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1323, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13992:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13975:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1327, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 1339, + "src": "14027:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1326, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14027:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14026:16:4" + }, + "scope": 1471, + "src": "13954:165:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1353, + "nodeType": "Block", + "src": "14388:43:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14424:1:4", + "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" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1346, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "14401:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 1348, + "indexExpression": { + "argumentTypes": null, + "id": 1347, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1341, + "src": "14408:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14401:14:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 1349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getPrev", + "nodeType": "MemberAccess", + "referencedDeclaration": 185, + "src": "14401:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14401:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1345, + "id": 1352, + "nodeType": "Return", + "src": "14394:32:4" + } + ] + }, + "documentation": "@dev Gets top element of sorted poll-linked-list\n@param _voter Address of user to check against\n@return Integer identifier to poll with maximum number of tokens committed to it", + "id": 1354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1341, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1354, + "src": "14338:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14338:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14337:16:4" + }, + "payable": false, + "returnParameters": { + "id": 1345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1344, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 1354, + "src": "14375:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1343, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14375:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14374:13:4" + }, + "scope": 1471, + "src": "14317:114:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1368, + "nodeType": "Block", + "src": "14686:59:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1362, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "14712:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1364, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "14732:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1363, + "name": "getLastNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "14720:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 1365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14720:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1361, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "14699:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14699:41:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1360, + "id": 1367, + "nodeType": "Return", + "src": "14692:48:4" + } + ] + }, + "documentation": "@dev Gets the numTokens property of getLastNode\n@param _voter Address of user to check against\n@return Maximum number of tokens committed in poll specified", + "id": 1369, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLockedTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1356, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "14633:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14633:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14632:16:4" + }, + "payable": false, + "returnParameters": { + "id": 1360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1359, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "14670:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1358, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14670:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14669:16:4" + }, + "scope": 1471, + "src": "14608:137:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1437, + "nodeType": "Block", + "src": "15556:951:4", + "statements": [ + { + "assignments": [ + 1381 + ], + "declarations": [ + { + "constant": false, + "id": 1381, + "name": "nodeID", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15637:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1380, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15637:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1385, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1383, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "15663:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1382, + "name": "getLastNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "15651:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 1384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15651:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15637:33:4" + }, + { + "assignments": [ + 1387 + ], + "declarations": [ + { + "constant": false, + "id": 1387, + "name": "tokensInNode", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15676:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1386, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15676:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1392, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1389, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "15709:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1390, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "15717:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1388, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "15696:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15696:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15676:48:4" + }, + { + "body": { + "id": 1433, + "nodeType": "Block", + "src": "15822:567:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1396, + "name": "tokensInNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "15884:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1398, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "15912:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1399, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "15920:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1397, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "15899:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15899:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15884:43:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1402, + "nodeType": "ExpressionStatement", + "src": "15884:43:4" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1403, + "name": "tokensInNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "15939:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1404, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1373, + "src": "15955:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15939:26:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1423, + "nodeType": "IfStatement", + "src": "15935:312:4", + "trueBody": { + "id": 1422, + "nodeType": "Block", + "src": "15967:280:4", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1406, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16011:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1407, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "16021:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16011:17:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1419, + "nodeType": "IfStatement", + "src": "16007:173:4", + "trueBody": { + "id": 1418, + "nodeType": "Block", + "src": "16030:150:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1409, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16130:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1414, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16162:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1410, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "16139:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 1412, + "indexExpression": { + "argumentTypes": null, + "id": 1411, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "16146:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16139:14:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 1413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getPrev", + "nodeType": "MemberAccess", + "referencedDeclaration": 185, + "src": "16139:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16139:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16130:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1417, + "nodeType": "ExpressionStatement", + "src": "16130:39:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1420, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16231:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1379, + "id": 1421, + "nodeType": "Return", + "src": "16224:13:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1424, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16343:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1429, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16375:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1425, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "16352:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 1427, + "indexExpression": { + "argumentTypes": null, + "id": 1426, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "16359:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16352:14:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 1428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getPrev", + "nodeType": "MemberAccess", + "referencedDeclaration": 185, + "src": "16352:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16352:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16343:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1432, + "nodeType": "ExpressionStatement", + "src": "16343:39:4" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1393, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "15809:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15819:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15809:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1434, + "nodeType": "WhileStatement", + "src": "15802:587:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1435, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16496:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1379, + "id": 1436, + "nodeType": "Return", + "src": "16489:13:4" + } + ] + }, + "documentation": null, + "id": 1438, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getInsertPointForNumTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1371, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15469:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15469:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1373, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15485:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1372, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15485:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15502:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1374, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15502:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15468:47:4" + }, + "payable": false, + "returnParameters": { + "id": 1379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1378, + "name": "prevNode", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15539:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1377, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15539:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15538:15:4" + }, + "scope": 1471, + "src": "15433:1074:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1451, + "nodeType": "Block", + "src": "16884:54:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1445, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3692, + "src": "16898:5:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16898:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 1447, + "name": "_terminationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1440, + "src": "16916:16:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16898:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1449, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16897:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1444, + "id": 1450, + "nodeType": "Return", + "src": "16890:43:4" + } + ] + }, + "documentation": "@dev Checks if an expiration date has been reached\n@param _terminationDate Integer timestamp of date to compare current timestamp with\n@return expired Boolean indication of whether the terminationDate has passed", + "id": 1452, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isExpired", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1440, + "name": "_terminationDate", + "nodeType": "VariableDeclaration", + "scope": 1452, + "src": "16826:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1439, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16826:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16825:23:4" + }, + "payable": false, + "returnParameters": { + "id": 1444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1443, + "name": "expired", + "nodeType": "VariableDeclaration", + "scope": 1452, + "src": "16870:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1442, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16870:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16869:14:4" + }, + "scope": 1471, + "src": "16807:131:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1469, + "nodeType": "Block", + "src": "17240:61:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1464, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1454, + "src": "17280:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1465, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "17287:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1462, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "17263:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17263:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17263:32:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1461, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "17253:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17253:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1460, + "id": 1468, + "nodeType": "Return", + "src": "17246:50:4" + } + ] + }, + "documentation": "@dev Generates an identifier which associates a user and a poll together\n@param _pollID Integer identifier associated with target poll\n@return UUID Hash which is deterministic from _user and _pollID", + "id": 1470, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "attrUUID", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1454, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "17176:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17176:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1456, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "17191:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17191:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17175:29:4" + }, + "payable": false, + "returnParameters": { + "id": 1460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1459, + "name": "UUID", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "17226:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1458, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17226:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17225:14:4" + }, + "scope": 1471, + "src": "17158:143:4", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1472, + "src": "252:17051:4" + } + ], + "src": "0:17304:4" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/PLCRVoting.sol", + "exportedSymbols": { + "PLCRVoting": [ + 1471 + ] + }, + "id": 1472, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 442, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 443, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 409, + "src": "25:21:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/DLL.sol", + "file": "./DLL.sol", + "id": 444, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 366, + "src": "47:19:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/AttributeStore.sol", + "file": "./AttributeStore.sol", + "id": 445, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 65, + "src": "67:30:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 446, + "nodeType": "ImportDirective", + "scope": 1472, + "sourceUnit": 3688, + "src": "98:24:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes", + "fullyImplemented": true, + "id": 1471, + "linearizedBaseContracts": [ + 1471 + ], + "name": "PLCRVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 454, + "name": "_VoteCommitted", + "nodeType": "EventDefinition", + "parameters": { + "id": 453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 448, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 454, + "src": "348:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 447, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "348:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 450, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 454, + "src": "369:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 449, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "369:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 452, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 454, + "src": "385:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "385:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:60:4" + }, + "src": "327:81:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 468, + "name": "_VoteRevealed", + "nodeType": "EventDefinition", + "parameters": { + "id": 467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 456, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "431:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "431:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 458, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "452:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 457, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "452:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 460, + "indexed": false, + "name": "votesFor", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "468:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 459, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "468:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 462, + "indexed": false, + "name": "votesAgainst", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "483:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 461, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "483:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 464, + "indexed": true, + "name": "choice", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "502:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 463, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "502:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 466, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 468, + "src": "523:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "523:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "430:115:4" + }, + "src": "411:135:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 480, + "name": "_PollCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 470, + "indexed": false, + "name": "voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "568:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 469, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "568:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 472, + "indexed": false, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "585:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 471, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "585:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 474, + "indexed": false, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "605:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 473, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "605:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 476, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "625:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 475, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "625:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 478, + "indexed": true, + "name": "creator", + "nodeType": "VariableDeclaration", + "scope": 480, + "src": "646:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 477, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "646:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "567:103:4" + }, + "src": "549:122:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 486, + "name": "_VotingRightsGranted", + "nodeType": "EventDefinition", + "parameters": { + "id": 485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 482, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 486, + "src": "701:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 481, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "701:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 484, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 486, + "src": "717:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "717:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "700:39:4" + }, + "src": "674:66:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 492, + "name": "_VotingRightsWithdrawn", + "nodeType": "EventDefinition", + "parameters": { + "id": 491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 488, + "indexed": false, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "772:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "772:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 490, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "788:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "788:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "771:39:4" + }, + "src": "743:68:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 498, + "name": "_TokensRescued", + "nodeType": "EventDefinition", + "parameters": { + "id": 497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 494, + "indexed": true, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 498, + "src": "835:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 493, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "835:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 496, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 498, + "src": "856:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "834:44:4" + }, + "src": "814:65:4" + }, + { + "id": 501, + "libraryName": { + "contractScope": null, + "id": 499, + "name": "AttributeStore", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 64, + "src": "948:14:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AttributeStore_$64", + "typeString": "library AttributeStore" + } + }, + "nodeType": "UsingForDirective", + "src": "942:45:4", + "typeName": { + "contractScope": null, + "id": 500, + "name": "AttributeStore.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "967:19:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + } + }, + { + "id": 504, + "libraryName": { + "contractScope": null, + "id": 502, + "name": "DLL", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 365, + "src": "996:3:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DLL_$365", + "typeString": "library DLL" + } + }, + "nodeType": "UsingForDirective", + "src": "990:23:4", + "typeName": { + "contractScope": null, + "id": 503, + "name": "DLL.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1004:8:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + } + }, + { + "id": 507, + "libraryName": { + "contractScope": null, + "id": 505, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3687, + "src": "1022:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3687", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "1016:24:4", + "typeName": { + "id": 506, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1035:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "canonicalName": "PLCRVoting.Poll", + "id": 526, + "members": [ + { + "constant": false, + "id": 509, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1062:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 508, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1062:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 511, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1136:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 510, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1136:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 513, + "name": "voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1210:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 512, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1210:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 515, + "name": "votesFor", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1286:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 514, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1286:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 517, + "name": "votesAgainst", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1347:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 516, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1347:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 521, + "name": "didCommit", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1414:34:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 520, + "keyType": { + "id": 518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1422:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1414:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 519, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1433:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 525, + "name": "didReveal", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "1519:34:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 524, + "keyType": { + "id": 522, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1527:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1519:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 523, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1538:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Poll", + "nodeType": "StructDefinition", + "scope": 1471, + "src": "1044:579:4", + "visibility": "public" + }, + { + "constant": true, + "id": 529, + "name": "INITIAL_POLL_NONCE", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1686:43:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1686:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30", + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1728:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 531, + "name": "pollNonce", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1733:21:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 530, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1733:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 535, + "name": "pollMap", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1759:36:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" + }, + "typeName": { + "id": 534, + "keyType": { + "id": 532, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1767:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1759:21:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll)" + }, + "valueType": { + "contractScope": null, + "id": 533, + "name": "Poll", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 526, + "src": "1775:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage_ptr", + "typeString": "struct PLCRVoting.Poll" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 539, + "name": "voteTokenBalance", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1829:48:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 538, + "keyType": { + "id": 536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1837:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1829:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 537, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1848:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 543, + "name": "dllMap", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1926:35:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data)" + }, + "typeName": { + "id": 542, + "keyType": { + "id": 540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1934:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1926:28:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data)" + }, + "valueType": { + "contractScope": null, + "id": 541, + "name": "DLL.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 79, + "src": "1945:8:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage_ptr", + "typeString": "struct DLL.Data" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 545, + "name": "store", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1965:25:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data" + }, + "typeName": { + "contractScope": null, + "id": 544, + "name": "AttributeStore.Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 6, + "src": "1965:19:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage_ptr", + "typeString": "struct AttributeStore.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 547, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "1995:18:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 546, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 408, + "src": "1995:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 562, + "nodeType": "Block", + "src": "2325:72:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 552, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "2331:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 554, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "2345:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 553, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "2339:5:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$408_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:17:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "src": "2331:25:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 557, + "nodeType": "ExpressionStatement", + "src": "2331:25:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 558, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "2362:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 559, + "name": "INITIAL_POLL_NONCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 529, + "src": "2374:18:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2362:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "2362:30:4" + } + ] + }, + "documentation": "@dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n@param _tokenAddr The address where the ERC20 token contract is deployed", + "id": 563, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 549, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "2298:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 548, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2298:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2297:20:4" + }, + "payable": false, + "returnParameters": { + "id": 551, + "nodeType": "ParameterList", + "parameters": [], + "src": "2325:0:4" + }, + "scope": 1471, + "src": "2286:111:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 601, + "nodeType": "Block", + "src": "2797:227:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 571, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "2827:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2827:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 569, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "2811:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 422, + "src": "2811:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2811:27:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 574, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2842:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2811:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 568, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "2803:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2803:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 577, + "nodeType": "ExpressionStatement", + "src": "2803:50:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 578, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "2859:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 581, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 579, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "2876:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2876:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2859:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 582, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2891:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2859:42:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 584, + "nodeType": "ExpressionStatement", + "src": "2859:42:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 588, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "2934:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2934:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 590, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "2946:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + { + "argumentTypes": null, + "id": 591, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2952:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 586, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "2915:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "2915:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2915:48:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 585, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "2907:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2907:57:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 594, + "nodeType": "ExpressionStatement", + "src": "2907:57:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 596, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 565, + "src": "2996:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 597, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3008:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3008:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 595, + "name": "_VotingRightsGranted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 486, + "src": "2975:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2975:44:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 600, + "nodeType": "EmitStatement", + "src": "2970:49:4" + } + ] + }, + "documentation": "@notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n@dev Assumes that msg.sender has approved voting contract to spend on their behalf\n@param _numTokens The number of votingTokens desired in exchange for ERC20 tokens", + "id": 602, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "requestVotingRights", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 565, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "2771:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 564, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2771:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2770:17:4" + }, + "payable": false, + "returnParameters": { + "id": 567, + "nodeType": "ParameterList", + "parameters": [], + "src": "2797:0:4" + }, + "scope": 1471, + "src": "2742:282:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 648, + "nodeType": "Block", + "src": "3278:297:4", + "statements": [ + { + "assignments": [ + 608 + ], + "declarations": [ + { + "constant": false, + "id": 608, + "name": "availableTokens", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "3284:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 607, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3284:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 619, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 615, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3356:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3356:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 614, + "name": "getLockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "3340:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3340:27:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 609, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "3307:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 612, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 610, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3324:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3324:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3307:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3662, + "src": "3307:32:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3307:61:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3284:84:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 621, + "name": "availableTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "3382:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 622, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3401:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3382:29:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 620, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3374:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3374:38:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 625, + "nodeType": "ExpressionStatement", + "src": "3374:38:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 626, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "3418:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 629, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 627, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3435:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3435:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3418:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 630, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3450:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3418:42:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 632, + "nodeType": "ExpressionStatement", + "src": "3418:42:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 636, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3489:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3489:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 638, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3501:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 634, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "3474:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "3474:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3474:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 633, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3466:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3466:47:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 641, + "nodeType": "ExpressionStatement", + "src": "3466:47:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 643, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "3547:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 644, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3559:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3559:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 642, + "name": "_VotingRightsWithdrawn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "3524:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3524:46:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 647, + "nodeType": "EmitStatement", + "src": "3519:51:4" + } + ] + }, + "documentation": "@notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n@param _numTokens The number of ERC20 tokens desired in exchange for voting rights", + "id": 649, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdrawVotingRights", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 604, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "3252:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 603, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3252:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3251:17:4" + }, + "payable": false, + "returnParameters": { + "id": 606, + "nodeType": "ParameterList", + "parameters": [], + "src": "3278:0:4" + }, + "scope": 1471, + "src": "3222:353:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 687, + "nodeType": "Block", + "src": "3772:199:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 656, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "3796:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 658, + "indexExpression": { + "argumentTypes": null, + "id": 657, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3804:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3796:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 659, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 511, + "src": "3796:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 655, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "3786:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3786:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 654, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3778:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3778:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 662, + "nodeType": "ExpressionStatement", + "src": "3778:50:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 669, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3870:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 664, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "3842:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 667, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 665, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3849:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3849:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3842:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 668, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 153, + "src": "3842:27:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3842:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 663, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3834:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3834:45:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 672, + "nodeType": "ExpressionStatement", + "src": "3834:45:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 678, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3912:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 673, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "3886:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 676, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 674, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3893:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3893:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3886:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 364, + "src": "3886:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256)" + } + }, + "id": 679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3886:34:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 680, + "nodeType": "ExpressionStatement", + "src": "3886:34:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 682, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "3946:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 683, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3955:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3955:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 681, + "name": "_TokensRescued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 498, + "src": "3931:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3931:35:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 686, + "nodeType": "EmitStatement", + "src": "3926:40:4" + } + ] + }, + "documentation": "@dev Unlocks tokens locked in unrevealed vote where poll has ended\n@param _pollID Integer identifier associated with the target poll", + "id": 688, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rescueTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 652, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 651, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 688, + "src": "3749:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 650, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3749:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3748:14:4" + }, + "payable": false, + "returnParameters": { + "id": 653, + "nodeType": "ParameterList", + "parameters": [], + "src": "3772:0:4" + }, + "scope": 1471, + "src": "3727:244:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 823, + "nodeType": "Block", + "src": "4655:1092:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 701, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "4688:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 700, + "name": "commitPeriodActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "4669:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4669:27:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 699, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4661:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4661:36:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 704, + "nodeType": "ExpressionStatement", + "src": "4661:36:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 706, + "name": "voteTokenBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "4711:16:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 709, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 707, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4728:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4728:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4711:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 710, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "4743:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4711:42:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 705, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4703:7:4", + "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": "4703:51:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 713, + "nodeType": "ExpressionStatement", + "src": "4703:51:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 715, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "4802:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4813:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4802:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 714, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4794:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4794:21:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 719, + "nodeType": "ExpressionStatement", + "src": "4794:21:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 721, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "4978:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4993:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4978:16:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 729, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5026:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 724, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "4998:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 727, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 725, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5005:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5005:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4998:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 728, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 153, + "src": "4998:27:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4998:40:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4978:60:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 720, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4970:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4970:69:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 733, + "nodeType": "ExpressionStatement", + "src": "4970:69:4" + }, + { + "assignments": [ + 735 + ], + "declarations": [ + { + "constant": false, + "id": 735, + "name": "nextPollID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "5046:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 734, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5046:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 743, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 741, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5091:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 736, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5064:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 739, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 737, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5071:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5071:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5064:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getNext", + "nodeType": "MemberAccess", + "referencedDeclaration": 169, + "src": "5064:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5064:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5046:57:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 744, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5178:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 745, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5192:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 746, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5206:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5192:21:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 748, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5191:23:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 756, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5255:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "5191:74:4", + "trueExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 754, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5244:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 749, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5217:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 752, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 750, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5224:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5224:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5217:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getNext", + "nodeType": "MemberAccess", + "referencedDeclaration": 169, + "src": "5217:26:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5217:35:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5178:87:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 759, + "nodeType": "ExpressionStatement", + "src": "5178:87:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 762, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5310:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 763, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5331:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 764, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5352:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5352:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 766, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "5372:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 761, + "name": "validPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 866, + "src": "5287:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256,address,uint256) view returns (bool)" + } + }, + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5287:103:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 760, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5272:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5272:124:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 769, + "nodeType": "ExpressionStatement", + "src": "5272:124:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 775, + "name": "_prevPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 696, + "src": "5429:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 776, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 777, + "name": "nextPollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 735, + "src": "5451:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 770, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "5403:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 773, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 771, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5410:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5410:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5403:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 774, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "insert", + "nodeType": "MemberAccess", + "referencedDeclaration": 310, + "src": "5403:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256,uint256,uint256)" + } + }, + "id": 778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5403:59:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 779, + "nodeType": "ExpressionStatement", + "src": "5403:59:4" + }, + { + "assignments": [ + 781 + ], + "declarations": [ + { + "constant": false, + "id": 781, + "name": "UUID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "5469:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 780, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5469:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 787, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 783, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5493:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5493:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 785, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5505:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 782, + "name": "attrUUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "5484:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5484:29:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5469:44:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 791, + "name": "UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "5539:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "6e756d546f6b656e73", + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5545:11:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + }, + "value": "numTokens" + }, + { + "argumentTypes": null, + "id": 793, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "5558:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 788, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5520:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "setAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "5520:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" + } + }, + "id": 794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5520:49:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 795, + "nodeType": "ExpressionStatement", + "src": "5520:49:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 799, + "name": "UUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "5594:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "636f6d6d697448617368", + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5600:12:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + }, + "value": "commitHash" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 802, + "name": "_secretHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 692, + "src": "5619:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5614:4:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5614:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 796, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "5575:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 798, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "setAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "5575:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5575:57:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 805, + "nodeType": "ExpressionStatement", + "src": "5575:57:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 806, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "5639:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 808, + "indexExpression": { + "argumentTypes": null, + "id": 807, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5647:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5639:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 809, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didCommit", + "nodeType": "MemberAccess", + "referencedDeclaration": 521, + "src": "5639:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 812, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 810, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5666:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5666:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5639:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5680:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5639:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 815, + "nodeType": "ExpressionStatement", + "src": "5639:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 817, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "5710:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 818, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 694, + "src": "5719:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 819, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5731:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5731:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 816, + "name": "_VoteCommitted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "5695:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,address)" + } + }, + "id": 821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5695:47:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 822, + "nodeType": "EmitStatement", + "src": "5690:52:4" + } + ] + }, + "documentation": "@notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n@param _pollID Integer identifier associated with target poll\n@param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n@param _numTokens The number of tokens to be committed towards the target poll\n@param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens", + "id": 824, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "commitVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 690, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4559:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 689, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4559:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 692, + "name": "_secretHash", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4577:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4577:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 694, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4602:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 693, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4602:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 696, + "name": "_prevPollID", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "4623:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 695, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4623:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4553:90:4" + }, + "payable": false, + "returnParameters": { + "id": 698, + "nodeType": "ParameterList", + "parameters": [], + "src": "4655:0:4" + }, + "scope": 1471, + "src": "4534:1213:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 865, + "nodeType": "Block", + "src": "6374:260:4", + "statements": [ + { + "assignments": [ + 838 + ], + "declarations": [ + { + "constant": false, + "id": 838, + "name": "prevValid", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6380:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 837, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6380:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 846, + "initialValue": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 839, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "6398:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 841, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "6425:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 842, + "name": "_prevID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 826, + "src": "6433:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 840, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "6412:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6412:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6398:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 845, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6397:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6380:62:4" + }, + { + "assignments": [ + 848 + ], + "declarations": [ + { + "constant": false, + "id": 848, + "name": "nextValid", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6516:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 847, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6516:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 860, + "initialValue": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 849, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 832, + "src": "6534:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 851, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 830, + "src": "6561:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 852, + "name": "_nextID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "6569:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 850, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "6548:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6548:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6534:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 855, + "name": "_nextID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 828, + "src": "6581:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6592:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6581:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6534:59:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 859, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6533:61:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6516:78:4" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 861, + "name": "prevValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "6607:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 862, + "name": "nextValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 848, + "src": "6620:9:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6607:22:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 836, + "id": 864, + "nodeType": "Return", + "src": "6600:29:4" + } + ] + }, + "documentation": "@dev Compares previous and next poll's committed tokens for sorting purposes\n@param _prevID Integer identifier associated with previous poll in sorted order\n@param _nextID Integer identifier associated with next poll in sorted order\n@param _voter Address of user to check DLL position for\n@param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n@return valid Boolean indication of if the specified position maintains the sort", + "id": 866, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "validPosition", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 826, + "name": "_prevID", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6263:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 825, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6263:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 828, + "name": "_nextID", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6281:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 827, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6281:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 830, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6299:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6299:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 832, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6319:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 831, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6319:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6257:81:4" + }, + "payable": false, + "returnParameters": { + "id": 836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 835, + "name": "valid", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "6360:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 834, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6360:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6359:12:4" + }, + "scope": 1471, + "src": "6235:399:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 980, + "nodeType": "Block", + "src": "7055:1062:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 877, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7133:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 876, + "name": "revealPeriodActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1236, + "src": "7114:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7114:27:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 875, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7106:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7106:36:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 880, + "nodeType": "ExpressionStatement", + "src": "7106:36:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 882, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7156:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 884, + "indexExpression": { + "argumentTypes": null, + "id": 883, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7164:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7156:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 885, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didCommit", + "nodeType": "MemberAccess", + "referencedDeclaration": 521, + "src": "7156:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 888, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 886, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7183:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7183:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7156:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 881, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7148:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7148:47:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 890, + "nodeType": "ExpressionStatement", + "src": "7148:47:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "7286:39:4", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 892, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7287:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 894, + "indexExpression": { + "argumentTypes": null, + "id": 893, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7295:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7287:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "7287:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 898, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 896, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7314:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7314:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7287:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7278:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7278:48:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 901, + "nodeType": "ExpressionStatement", + "src": "7278:48:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 906, + "name": "_voteOption", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "7436:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 907, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "7449:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 904, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "7419:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7419:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7419:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 903, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "7409:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7409:47:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 911, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7474:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7474:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 913, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7486:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 910, + "name": "getCommitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1320, + "src": "7460:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) view returns (bytes32)" + } + }, + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7460:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7409:85:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 902, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7401:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7401:94:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 917, + "nodeType": "ExpressionStatement", + "src": "7401:94:4" + }, + { + "assignments": [ + 919 + ], + "declarations": [ + { + "constant": false, + "id": 919, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7563:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 918, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7563:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 925, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 921, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7593:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7593:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 923, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7605:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 920, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "7580:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7580:33:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7563:50:4" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 926, + "name": "_voteOption", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "7624:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7639:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7624:16:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 944, + "nodeType": "Block", + "src": "7746:57:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 937, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7754:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 939, + "indexExpression": { + "argumentTypes": null, + "id": 938, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7762:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7754:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "7754:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 941, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "7787:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7754:42:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 943, + "nodeType": "ExpressionStatement", + "src": "7754:42:4" + } + ] + }, + "id": 945, + "nodeType": "IfStatement", + "src": "7620:183:4", + "trueBody": { + "id": 936, + "nodeType": "Block", + "src": "7642:98:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 929, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7695:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 931, + "indexExpression": { + "argumentTypes": null, + "id": 930, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7703:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7695:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 932, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "7695:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 933, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "7724:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7695:38:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 935, + "nodeType": "ExpressionStatement", + "src": "7695:38:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 951, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7835:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 946, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "7809:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 949, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 947, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7816:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7816:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7809:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 364, + "src": "7809:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256)" + } + }, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7809:34:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 953, + "nodeType": "ExpressionStatement", + "src": "7809:34:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 954, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "7903:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 956, + "indexExpression": { + "argumentTypes": null, + "id": 955, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7911:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7903:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "7903:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 960, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 958, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7930:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7930:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7903:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7944:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7903:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 963, + "nodeType": "ExpressionStatement", + "src": "7903:45:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 965, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "7981:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 966, + "name": "numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "7996:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 967, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "8013:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 969, + "indexExpression": { + "argumentTypes": null, + "id": 968, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "8021:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8013:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 970, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "8013:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 971, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "8046:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 973, + "indexExpression": { + "argumentTypes": null, + "id": 972, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "8054:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8046:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "8046:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 975, + "name": "_voteOption", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 870, + "src": "8083:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 976, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "8096:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8096:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "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_address", + "typeString": "address" + } + ], + "id": 964, + "name": "_VoteRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 468, + "src": "7960:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,address)" + } + }, + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7960:152:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 979, + "nodeType": "EmitStatement", + "src": "7955:157:4" + } + ] + }, + "documentation": "@notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n@param _pollID Integer identifier associated with target poll\n@param _voteOption Vote choice used to generate commitHash for associated poll\n@param _salt Secret number used to generate commitHash for associated poll", + "id": 981, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 868, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7002:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 867, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7002:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "name": "_voteOption", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7016:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 869, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7016:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 872, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "7034:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 871, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7034:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7001:44:4" + }, + "payable": false, + "returnParameters": { + "id": 874, + "nodeType": "ParameterList", + "parameters": [], + "src": "7055:0:4" + }, + "scope": 1471, + "src": "6982:1135:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1044, + "nodeType": "Block", + "src": "8442:356:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 994, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8466:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 993, + "name": "pollEnded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "8456:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8456:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 992, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8448:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8448:27:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 997, + "nodeType": "ExpressionStatement", + "src": "8448:27:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 999, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "8489:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1001, + "indexExpression": { + "argumentTypes": null, + "id": 1000, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8497:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8489:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1002, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "8489:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1004, + "indexExpression": { + "argumentTypes": null, + "id": 1003, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 983, + "src": "8516:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8489:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 998, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8481:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8481:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1006, + "nodeType": "ExpressionStatement", + "src": "8481:43:4" + }, + { + "assignments": [ + 1008 + ], + "declarations": [ + { + "constant": false, + "id": 1008, + "name": "winningChoice", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8531:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1007, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8531:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1015, + "initialValue": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1010, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8561:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1009, + "name": "isPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "8552:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8552:17:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8576:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 1014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "8552:25:4", + "trueExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8572:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8531:46:4" + }, + { + "assignments": [ + 1017 + ], + "declarations": [ + { + "constant": false, + "id": 1017, + "name": "winnerHash", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8583:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1016, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8583:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1025, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1021, + "name": "winningChoice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "8631:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1022, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 987, + "src": "8646:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "8614:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8614:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8614:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1018, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "8604:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8604:49:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8583:70:4" + }, + { + "assignments": [ + 1027 + ], + "declarations": [ + { + "constant": false, + "id": 1027, + "name": "commitHash", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8659:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1026, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8659:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1032, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1029, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 983, + "src": "8694:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1030, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8702:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1028, + "name": "getCommitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1320, + "src": "8680:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) view returns (bytes32)" + } + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8680:30:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8659:51:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1034, + "name": "winnerHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1017, + "src": "8725:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1035, + "name": "commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1027, + "src": "8739:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8725:24:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1033, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8717:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8717:33:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1038, + "nodeType": "ExpressionStatement", + "src": "8717:33:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1040, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 983, + "src": "8777:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1041, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "8785:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1039, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "8764:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8764:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 991, + "id": 1043, + "nodeType": "Return", + "src": "8757:36:4" + } + ] + }, + "documentation": "@param _pollID Integer identifier associated with target poll\n@param _salt Arbitrarily chosen integer used to generate secretHash\n@return correctVotes Number of tokens voted for winning option", + "id": 1045, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNumPassingTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 983, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8360:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8360:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 985, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8376:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 984, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8376:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 987, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8390:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 986, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8390:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8359:42:4" + }, + "payable": false, + "returnParameters": { + "id": 991, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 990, + "name": "correctVotes", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "8423:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 989, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8423:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8422:19:4" + }, + "scope": 1471, + "src": "8331:467:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1100, + "nodeType": "Block", + "src": "9327:495:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1056, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9333:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1057, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9345:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9357:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9345:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9333:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1061, + "nodeType": "ExpressionStatement", + "src": "9333:25:4" + }, + { + "assignments": [ + 1063 + ], + "declarations": [ + { + "constant": false, + "id": 1063, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9365:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1062, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9365:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1069, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1067, + "name": "_commitDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1049, + "src": "9406:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1064, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3692, + "src": "9386:5:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9386:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "9386:19:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9386:36:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9365:57:4" + }, + { + "assignments": [ + 1071 + ], + "declarations": [ + { + "constant": false, + "id": 1071, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9428:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9428:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1076, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1074, + "name": "_revealDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1051, + "src": "9467:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1072, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "9449:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "9449:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9449:34:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9428:55:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1077, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "9490:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1079, + "indexExpression": { + "argumentTypes": null, + "id": 1078, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9498:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9490:18:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1081, + "name": "_voteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1047, + "src": "9536:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1082, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "9570:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1083, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "9606:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9637:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9660:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": null, + "id": 1080, + "name": "Poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "9511:4:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Poll_$526_storage_ptr_$", + "typeString": "type(struct PLCRVoting.Poll storage pointer)" + } + }, + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "voteQuorum", + "commitEndDate", + "revealEndDate", + "votesFor", + "votesAgainst" + ], + "nodeType": "FunctionCall", + "src": "9511:157:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "src": "9490:178:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1088, + "nodeType": "ExpressionStatement", + "src": "9490:178:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1090, + "name": "_voteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1047, + "src": "9700:11:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1091, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "9719:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1092, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "9740:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1093, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9761:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1094, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9778:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9778:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1089, + "name": "_PollCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 480, + "src": "9680:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,address)" + } + }, + "id": 1096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9680:114:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1097, + "nodeType": "EmitStatement", + "src": "9675:119:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1098, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "9808:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1055, + "id": 1099, + "nodeType": "Return", + "src": "9801:16:4" + } + ] + }, + "documentation": "@dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n@param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n@param _commitDuration Length of desired commit period in seconds\n@param _revealDuration Length of desired reveal period in seconds", + "id": 1101, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startPoll", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1047, + "name": "_voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9236:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1046, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9236:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1049, + "name": "_commitDuration", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9254:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1048, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9254:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1051, + "name": "_revealDuration", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9276:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1050, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9276:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9235:62:4" + }, + "payable": false, + "returnParameters": { + "id": 1055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1054, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "9314:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1053, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9314:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9313:13:4" + }, + "scope": 1471, + "src": "9217:605:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1137, + "nodeType": "Block", + "src": "10095:172:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1110, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1103, + "src": "10119:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1109, + "name": "pollEnded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "10109:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10109:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1108, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "10101:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10101:27:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1113, + "nodeType": "ExpressionStatement", + "src": "10101:27:4" + }, + { + "assignments": [ + 1115 + ], + "declarations": [ + { + "constant": false, + "id": 1115, + "name": "poll", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "10135:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll" + }, + "typeName": { + "contractScope": null, + "id": 1114, + "name": "Poll", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 526, + "src": "10135:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage_ptr", + "typeString": "struct PLCRVoting.Poll" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1119, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1116, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "10154:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1118, + "indexExpression": { + "argumentTypes": null, + "id": 1117, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1103, + "src": "10162:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10154:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10135:35:4" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 1120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10184:3:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1121, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10190:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1122, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "10190:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10184:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1124, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10183:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1125, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10208:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1126, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voteQuorum", + "nodeType": "MemberAccess", + "referencedDeclaration": 513, + "src": "10208:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1127, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10227:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1128, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "10227:13:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1129, + "name": "poll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1115, + "src": "10243:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_memory_ptr", + "typeString": "struct PLCRVoting.Poll memory" + } + }, + "id": 1130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "10243:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10227:33:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1132, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10226:35:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10208:53:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1134, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10207:55:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10183:79:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1107, + "id": 1136, + "nodeType": "Return", + "src": "10176:86:4" + } + ] + }, + "documentation": "@notice Determines if proposal has passed\n@dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n@param _pollID Integer identifier associated with target poll", + "id": 1138, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isPassed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1103, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "10047:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1102, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10047:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10046:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1106, + "name": "passed", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "10082:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1105, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10082:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10081:13:4" + }, + "scope": 1471, + "src": "10029:238:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1165, + "nodeType": "Block", + "src": "10664:159:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1147, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10688:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1146, + "name": "pollEnded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "10678:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10678:18:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "10670:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10670:27:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1150, + "nodeType": "ExpressionStatement", + "src": "10670:27:4" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1152, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10717:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1151, + "name": "isPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "10708:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10708:17:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1159, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "10789:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1161, + "indexExpression": { + "argumentTypes": null, + "id": 1160, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10797:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10789:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1162, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesAgainst", + "nodeType": "MemberAccess", + "referencedDeclaration": 517, + "src": "10789:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1144, + "id": 1163, + "nodeType": "Return", + "src": "10782:36:4" + }, + "id": 1164, + "nodeType": "IfStatement", + "src": "10704:114:4", + "trueBody": { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1154, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "10740:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1156, + "indexExpression": { + "argumentTypes": null, + "id": 1155, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "10748:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10740:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votesFor", + "nodeType": "MemberAccess", + "referencedDeclaration": 515, + "src": "10740:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1144, + "id": 1158, + "nodeType": "Return", + "src": "10733:32:4" + } + } + ] + }, + "documentation": "@dev Gets the total winning votes for reward distribution purposes\n@param _pollID Integer identifier associated with target poll\n@return Total number of votes committed to the winning option for specified poll", + "id": 1166, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalNumberOfTokensForWinningOption", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1140, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1166, + "src": "10613:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1139, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10613:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10612:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1143, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 1166, + "src": "10648:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1142, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10648:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10647:16:4" + }, + "scope": 1471, + "src": "10565:258:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1186, + "nodeType": "Block", + "src": "11063:94:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1175, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "11088:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1174, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "11077:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11077:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1173, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "11069:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11069:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1178, + "nodeType": "ExpressionStatement", + "src": "11069:28:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1180, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "11121:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1182, + "indexExpression": { + "argumentTypes": null, + "id": 1181, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1168, + "src": "11129:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11121:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 511, + "src": "11121:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1179, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "11111:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11111:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1172, + "id": 1185, + "nodeType": "Return", + "src": "11104:48:4" + } + ] + }, + "documentation": "@notice Determines if poll is over\n@dev Checks isExpired for specified poll's revealEndDate\n@return Boolean indication of whether polling period is over", + "id": 1187, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "pollEnded", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1168, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1187, + "src": "11016:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1167, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11016:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11015:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1171, + "name": "ended", + "nodeType": "VariableDeclaration", + "scope": 1187, + "src": "11051:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1170, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11051:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11050:12:4" + }, + "scope": 1471, + "src": "10997:160:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1208, + "nodeType": "Block", + "src": "11521:95:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1196, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1189, + "src": "11546:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1195, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "11535:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11535:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1194, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "11527:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11527:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1199, + "nodeType": "ExpressionStatement", + "src": "11527:28:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11569:42:4", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1201, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "11580:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1203, + "indexExpression": { + "argumentTypes": null, + "id": 1202, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1189, + "src": "11588:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11580:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commitEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 509, + "src": "11580:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1200, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "11570:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11570:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1193, + "id": 1207, + "nodeType": "Return", + "src": "11562:49:4" + } + ] + }, + "documentation": "@notice Checks if the commit period is still active for the specified poll\n@dev Checks isExpired for the specified poll's commitEndDate\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of isCommitPeriodActive for target poll", + "id": 1209, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "commitPeriodActive", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1189, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1209, + "src": "11473:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1188, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11473:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11472:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1192, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 1209, + "src": "11508:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1191, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11508:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11507:13:4" + }, + "scope": 1471, + "src": "11445:171:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1235, + "nodeType": "Block", + "src": "11911:127:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1218, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1211, + "src": "11936:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1217, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "11925:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11925:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "11917:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11917:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1221, + "nodeType": "ExpressionStatement", + "src": "11917:28:4" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11959:42:4", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1223, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "11970:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1225, + "indexExpression": { + "argumentTypes": null, + "id": 1224, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1211, + "src": "11978:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11970:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealEndDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 511, + "src": "11970:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1222, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "11960:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11960:41:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 1232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "12005:28:4", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1230, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1211, + "src": "12025:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1229, + "name": "commitPeriodActive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "12006:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12006:27:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11959:74:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1215, + "id": 1234, + "nodeType": "Return", + "src": "11952:81:4" + } + ] + }, + "documentation": "@notice Checks if the reveal period is still active for the specified poll\n@dev Checks isExpired for the specified poll's revealEndDate\n@param _pollID Integer identifier associated with target poll", + "id": 1236, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "revealPeriodActive", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1211, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "11863:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1210, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11863:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11862:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1214, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "11898:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1213, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11898:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11897:13:4" + }, + "scope": 1471, + "src": "11835:203:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1258, + "nodeType": "Block", + "src": "12366:87:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1247, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1240, + "src": "12391:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1246, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "12380:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12380:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1245, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "12372:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12372:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1250, + "nodeType": "ExpressionStatement", + "src": "12372:28:4" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1251, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "12414:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1253, + "indexExpression": { + "argumentTypes": null, + "id": 1252, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1240, + "src": "12422:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12414:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1254, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didCommit", + "nodeType": "MemberAccess", + "referencedDeclaration": 521, + "src": "12414:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1256, + "indexExpression": { + "argumentTypes": null, + "id": 1255, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1238, + "src": "12441:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12414:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1244, + "id": 1257, + "nodeType": "Return", + "src": "12407:41:4" + } + ] + }, + "documentation": "@dev Checks if user has committed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has committed", + "id": 1259, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "didCommit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1238, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1259, + "src": "12299:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12299:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1259, + "src": "12315:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12315:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12298:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1243, + "name": "committed", + "nodeType": "VariableDeclaration", + "scope": 1259, + "src": "12350:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1242, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12350:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12349:16:4" + }, + "scope": 1471, + "src": "12280:173:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1281, + "nodeType": "Block", + "src": "12778:87:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1270, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1263, + "src": "12803:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1269, + "name": "pollExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1299, + "src": "12792:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12792:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "12784:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12784:28:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1273, + "nodeType": "ExpressionStatement", + "src": "12784:28:4" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1274, + "name": "pollMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 535, + "src": "12826:7:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$526_storage_$", + "typeString": "mapping(uint256 => struct PLCRVoting.Poll storage ref)" + } + }, + "id": 1276, + "indexExpression": { + "argumentTypes": null, + "id": 1275, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1263, + "src": "12834:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12826:16:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Poll_$526_storage", + "typeString": "struct PLCRVoting.Poll storage ref" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "didReveal", + "nodeType": "MemberAccess", + "referencedDeclaration": 525, + "src": "12826:26:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1279, + "indexExpression": { + "argumentTypes": null, + "id": 1278, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "12853:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12826:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1267, + "id": 1280, + "nodeType": "Return", + "src": "12819:41:4" + } + ] + }, + "documentation": "@dev Checks if user has revealed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has revealed", + "id": 1282, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "didReveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1261, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1282, + "src": "12712:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12712:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1263, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1282, + "src": "12728:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1262, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12728:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12711:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1266, + "name": "revealed", + "nodeType": "VariableDeclaration", + "scope": 1282, + "src": "12763:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1265, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12763:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12762:15:4" + }, + "scope": 1471, + "src": "12693:172:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1298, + "nodeType": "Block", + "src": "13117:56:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1289, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "13131:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13142:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13131:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1292, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "13147:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1293, + "name": "pollNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "13158:9:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13147:20:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13131:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1296, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13130:38:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1288, + "id": 1297, + "nodeType": "Return", + "src": "13123:45:4" + } + ] + }, + "documentation": "@dev Checks if a poll exists\n@param _pollID The pollID whose existance is to be evaluated.\n@return Boolean Indicates whether a poll exists for the provided pollID", + "id": 1299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "pollExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1284, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1299, + "src": "13069:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1283, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13069:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13068:14:4" + }, + "payable": false, + "returnParameters": { + "id": 1288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1287, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1299, + "src": "13104:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1286, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13104:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13103:13:4" + }, + "scope": 1471, + "src": "13049:124:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1319, + "nodeType": "Block", + "src": "13610:86:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1312, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1301, + "src": "13659:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1313, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "13667:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1311, + "name": "attrUUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "13650:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13650:25:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "636f6d6d697448617368", + "id": 1315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13677:12:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + }, + "value": "commitHash" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3", + "typeString": "literal_string \"commitHash\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1309, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "13631:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 1310, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 33, + "src": "13631:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13631:59:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13623:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13623:68:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1307, + "id": 1318, + "nodeType": "Return", + "src": "13616:75:4" + } + ] + }, + "documentation": "@dev Gets the bytes32 commitHash property of target poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Bytes32 hash property attached to target poll", + "id": 1320, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getCommitHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1301, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "13539:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13539:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1303, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "13555:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1302, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13555:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13538:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1306, + "name": "commitHash", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "13590:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1305, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13590:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13589:20:4" + }, + "scope": 1471, + "src": "13516:180:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1338, + "nodeType": "Block", + "src": "14043:76:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1332, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1322, + "src": "14084:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1333, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1324, + "src": "14092:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1331, + "name": "attrUUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "14075:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (address,uint256) pure returns (bytes32)" + } + }, + "id": 1334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14075:25:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "6e756d546f6b656e73", + "id": 1335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14102:11:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + }, + "value": "numTokens" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a", + "typeString": "literal_string \"numTokens\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1329, + "name": "store", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "14056:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$6_storage", + "typeString": "struct AttributeStore.Data storage ref" + } + }, + "id": 1330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getAttribute", + "nodeType": "MemberAccess", + "referencedDeclaration": 33, + "src": "14056:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$6_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$6_storage_ptr_$", + "typeString": "function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)" + } + }, + "id": 1336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14056:58:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1328, + "id": 1337, + "nodeType": "Return", + "src": "14049:65:4" + } + ] + }, + "documentation": "@dev Wrapper for getAttribute with attrName=\"numTokens\"\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Number of tokens committed to poll in sorted poll-linked-list", + "id": 1339, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNumTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1322, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1339, + "src": "13976:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13976:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1324, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1339, + "src": "13992:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1323, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13992:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13975:30:4" + }, + "payable": false, + "returnParameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1327, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 1339, + "src": "14027:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1326, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14027:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14026:16:4" + }, + "scope": 1471, + "src": "13954:165:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1353, + "nodeType": "Block", + "src": "14388:43:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14424:1:4", + "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" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1346, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "14401:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 1348, + "indexExpression": { + "argumentTypes": null, + "id": 1347, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1341, + "src": "14408:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14401:14:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 1349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getPrev", + "nodeType": "MemberAccess", + "referencedDeclaration": 185, + "src": "14401:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14401:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1345, + "id": 1352, + "nodeType": "Return", + "src": "14394:32:4" + } + ] + }, + "documentation": "@dev Gets top element of sorted poll-linked-list\n@param _voter Address of user to check against\n@return Integer identifier to poll with maximum number of tokens committed to it", + "id": 1354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastNode", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1341, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1354, + "src": "14338:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14338:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14337:16:4" + }, + "payable": false, + "returnParameters": { + "id": 1345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1344, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 1354, + "src": "14375:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1343, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14375:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14374:13:4" + }, + "scope": 1471, + "src": "14317:114:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1368, + "nodeType": "Block", + "src": "14686:59:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1362, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "14712:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1364, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "14732:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1363, + "name": "getLastNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "14720:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 1365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14720:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1361, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "14699:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14699:41:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1360, + "id": 1367, + "nodeType": "Return", + "src": "14692:48:4" + } + ] + }, + "documentation": "@dev Gets the numTokens property of getLastNode\n@param _voter Address of user to check against\n@return Maximum number of tokens committed in poll specified", + "id": 1369, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLockedTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1356, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "14633:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14633:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14632:16:4" + }, + "payable": false, + "returnParameters": { + "id": 1360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1359, + "name": "numTokens", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "14670:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1358, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14670:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14669:16:4" + }, + "scope": 1471, + "src": "14608:137:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1437, + "nodeType": "Block", + "src": "15556:951:4", + "statements": [ + { + "assignments": [ + 1381 + ], + "declarations": [ + { + "constant": false, + "id": 1381, + "name": "nodeID", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15637:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1380, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15637:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1385, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1383, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "15663:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1382, + "name": "getLastNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "15651:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 1384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15651:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15637:33:4" + }, + { + "assignments": [ + 1387 + ], + "declarations": [ + { + "constant": false, + "id": 1387, + "name": "tokensInNode", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15676:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1386, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15676:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1392, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1389, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "15709:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1390, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "15717:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1388, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "15696:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15696:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15676:48:4" + }, + { + "body": { + "id": 1433, + "nodeType": "Block", + "src": "15822:567:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1396, + "name": "tokensInNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "15884:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1398, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "15912:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1399, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "15920:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1397, + "name": "getNumTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1339, + "src": "15899:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view returns (uint256)" + } + }, + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15899:28:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15884:43:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1402, + "nodeType": "ExpressionStatement", + "src": "15884:43:4" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1403, + "name": "tokensInNode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1387, + "src": "15939:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1404, + "name": "_numTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1373, + "src": "15955:10:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15939:26:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1423, + "nodeType": "IfStatement", + "src": "15935:312:4", + "trueBody": { + "id": 1422, + "nodeType": "Block", + "src": "15967:280:4", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1406, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16011:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1407, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "16021:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16011:17:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1419, + "nodeType": "IfStatement", + "src": "16007:173:4", + "trueBody": { + "id": 1418, + "nodeType": "Block", + "src": "16030:150:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1409, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16130:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1414, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16162:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1410, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "16139:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 1412, + "indexExpression": { + "argumentTypes": null, + "id": 1411, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "16146:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16139:14:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 1413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getPrev", + "nodeType": "MemberAccess", + "referencedDeclaration": 185, + "src": "16139:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16139:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16130:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1417, + "nodeType": "ExpressionStatement", + "src": "16130:39:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1420, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16231:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1379, + "id": 1421, + "nodeType": "Return", + "src": "16224:13:4" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1424, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16343:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1429, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16375:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1425, + "name": "dllMap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "16352:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Data_$79_storage_$", + "typeString": "mapping(address => struct DLL.Data storage ref)" + } + }, + "id": 1427, + "indexExpression": { + "argumentTypes": null, + "id": 1426, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "16359:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16352:14:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$79_storage", + "typeString": "struct DLL.Data storage ref" + } + }, + "id": 1428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "getPrev", + "nodeType": "MemberAccess", + "referencedDeclaration": 185, + "src": "16352:22:4", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Data_$79_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$79_storage_ptr_$", + "typeString": "function (struct DLL.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16352:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16343:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1432, + "nodeType": "ExpressionStatement", + "src": "16343:39:4" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1393, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "15809:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15819:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15809:11:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1434, + "nodeType": "WhileStatement", + "src": "15802:587:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1435, + "name": "nodeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "16496:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1379, + "id": 1436, + "nodeType": "Return", + "src": "16489:13:4" + } + ] + }, + "documentation": null, + "id": 1438, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getInsertPointForNumTokens", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1371, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15469:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15469:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1373, + "name": "_numTokens", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15485:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1372, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15485:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15502:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1374, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15502:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15468:47:4" + }, + "payable": false, + "returnParameters": { + "id": 1379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1378, + "name": "prevNode", + "nodeType": "VariableDeclaration", + "scope": 1438, + "src": "15539:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1377, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15539:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15538:15:4" + }, + "scope": 1471, + "src": "15433:1074:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1451, + "nodeType": "Block", + "src": "16884:54:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1445, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3692, + "src": "16898:5:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16898:15:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 1447, + "name": "_terminationDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1440, + "src": "16916:16:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16898:34:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1449, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16897:36:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1444, + "id": 1450, + "nodeType": "Return", + "src": "16890:43:4" + } + ] + }, + "documentation": "@dev Checks if an expiration date has been reached\n@param _terminationDate Integer timestamp of date to compare current timestamp with\n@return expired Boolean indication of whether the terminationDate has passed", + "id": 1452, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isExpired", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1440, + "name": "_terminationDate", + "nodeType": "VariableDeclaration", + "scope": 1452, + "src": "16826:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1439, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16826:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16825:23:4" + }, + "payable": false, + "returnParameters": { + "id": 1444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1443, + "name": "expired", + "nodeType": "VariableDeclaration", + "scope": 1452, + "src": "16870:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1442, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16870:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16869:14:4" + }, + "scope": 1471, + "src": "16807:131:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1469, + "nodeType": "Block", + "src": "17240:61:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1464, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1454, + "src": "17280:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1465, + "name": "_pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "17287:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1462, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "17263:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17263:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17263:32:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1461, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "17253:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17253:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1460, + "id": 1468, + "nodeType": "Return", + "src": "17246:50:4" + } + ] + }, + "documentation": "@dev Generates an identifier which associates a user and a poll together\n@param _pollID Integer identifier associated with target poll\n@return UUID Hash which is deterministic from _user and _pollID", + "id": 1470, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "attrUUID", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1454, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "17176:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17176:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1456, + "name": "_pollID", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "17191:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17191:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17175:29:4" + }, + "payable": false, + "returnParameters": { + "id": 1460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1459, + "name": "UUID", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "17226:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1458, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17226:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17225:14:4" + }, + "scope": 1471, + "src": "17158:143:4", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1472, + "src": "252:17051:4" + } + ], + "src": "0:17304:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.356Z" +} \ No newline at end of file diff --git a/build/contracts/Parameterizer.json b/build/contracts/Parameterizer.json new file mode 100644 index 0000000..f81413b --- /dev/null +++ b/build/contracts/Parameterizer.json @@ -0,0 +1,29254 @@ +{ + "contractName": "Parameterizer", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "PROCESSBY", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "name": "appExpiry", + "type": "uint256" + }, + { + "name": "challengeID", + "type": "uint256" + }, + { + "name": "deposit", + "type": "uint256" + }, + { + "name": "name", + "type": "string" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "processBy", + "type": "uint256" + }, + { + "name": "value", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "challenges", + "outputs": [ + { + "name": "rewardPool", + "type": "uint256" + }, + { + "name": "challenger", + "type": "address" + }, + { + "name": "resolved", + "type": "bool" + }, + { + "name": "stake", + "type": "uint256" + }, + { + "name": "winningTokens", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "params", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "voting", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_tokenAddr", + "type": "address" + }, + { + "name": "_plcrAddr", + "type": "address" + }, + { + "name": "_minDeposit", + "type": "uint256" + }, + { + "name": "_pMinDeposit", + "type": "uint256" + }, + { + "name": "_applyStageLen", + "type": "uint256" + }, + { + "name": "_pApplyStageLen", + "type": "uint256" + }, + { + "name": "_commitStageLen", + "type": "uint256" + }, + { + "name": "_pCommitStageLen", + "type": "uint256" + }, + { + "name": "_revealStageLen", + "type": "uint256" + }, + { + "name": "_pRevealStageLen", + "type": "uint256" + }, + { + "name": "_dispensationPct", + "type": "uint256" + }, + { + "name": "_pDispensationPct", + "type": "uint256" + }, + { + "name": "_voteQuorum", + "type": "uint256" + }, + { + "name": "_pVoteQuorum", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "propID", + "type": "bytes32" + }, + { + "indexed": false, + "name": "deposit", + "type": "uint256" + }, + { + "indexed": false, + "name": "appEndDate", + "type": "uint256" + }, + { + "indexed": true, + "name": "proposer", + "type": "address" + } + ], + "name": "_ReparameterizationProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "propID", + "type": "bytes32" + }, + { + "indexed": false, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "commitEndDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "revealEndDate", + "type": "uint256" + }, + { + "indexed": true, + "name": "challenger", + "type": "address" + } + ], + "name": "_NewChallenge", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "propID", + "type": "bytes32" + }, + { + "indexed": false, + "name": "name", + "type": "string" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "_ProposalAccepted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "propID", + "type": "bytes32" + } + ], + "name": "_ProposalExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "propID", + "type": "bytes32" + }, + { + "indexed": true, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "rewardPool", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalTokens", + "type": "uint256" + } + ], + "name": "_ChallengeSucceeded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "propID", + "type": "bytes32" + }, + { + "indexed": true, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "rewardPool", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalTokens", + "type": "uint256" + } + ], + "name": "_ChallengeFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "reward", + "type": "uint256" + }, + { + "indexed": true, + "name": "voter", + "type": "address" + } + ], + "name": "_RewardClaimed", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "proposeReparameterization", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_propID", + "type": "bytes32" + } + ], + "name": "challengeReparameterization", + "outputs": [ + { + "name": "challengeID", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_propID", + "type": "bytes32" + } + ], + "name": "processProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_challengeID", + "type": "uint256" + }, + { + "name": "_salt", + "type": "uint256" + } + ], + "name": "claimReward", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_challengeID", + "type": "uint256" + }, + { + "name": "_salt", + "type": "uint256" + } + ], + "name": "voterReward", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_propID", + "type": "bytes32" + } + ], + "name": "canBeSet", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_propID", + "type": "bytes32" + } + ], + "name": "propExists", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_propID", + "type": "bytes32" + } + ], + "name": "challengeCanBeResolved", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_challengeID", + "type": "uint256" + } + ], + "name": "challengeWinnerReward", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_name", + "type": "string" + } + ], + "name": "get", + "outputs": [ + { + "name": "value", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_challengeID", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "tokenClaims", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405262093a806005553480156200001857600080fd5b506040516101c08062003ce083398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508d600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001916040805190810160405280600a81526020017f6d696e4465706f736974000000000000000000000000000000000000000000008152508d62000515640100000000026401000000009004565b620001e16040805190810160405280600b81526020017f704d696e4465706f7369740000000000000000000000000000000000000000008152508c62000515640100000000026401000000009004565b620002316040805190810160405280600d81526020017f6170706c7953746167654c656e000000000000000000000000000000000000008152508b62000515640100000000026401000000009004565b620002816040805190810160405280600e81526020017f704170706c7953746167654c656e0000000000000000000000000000000000008152508a62000515640100000000026401000000009004565b620002d16040805190810160405280600e81526020017f636f6d6d697453746167654c656e0000000000000000000000000000000000008152508962000515640100000000026401000000009004565b620003216040805190810160405280600f81526020017f70436f6d6d697453746167654c656e00000000000000000000000000000000008152508862000515640100000000026401000000009004565b620003716040805190810160405280600e81526020017f72657665616c53746167654c656e0000000000000000000000000000000000008152508762000515640100000000026401000000009004565b620003c16040805190810160405280600f81526020017f7052657665616c53746167654c656e00000000000000000000000000000000008152508662000515640100000000026401000000009004565b620004116040805190810160405280600f81526020017f64697370656e736174696f6e50637400000000000000000000000000000000008152508562000515640100000000026401000000009004565b620004616040805190810160405280601081526020017f7044697370656e736174696f6e506374000000000000000000000000000000008152508462000515640100000000026401000000009004565b620004b16040805190810160405280600a81526020017f766f746551756f72756d000000000000000000000000000000000000000000008152508362000515640100000000026401000000009004565b620005016040805190810160405280600b81526020017f70566f746551756f72756d0000000000000000000000000000000000000000008152508262000515640100000000026401000000009004565b50505050505050505050505050506200060a565b80600080846040516020018082805190602001908083835b6020831015156200055457805182526020820191506020810190506020830392506200052d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083101515620005bf578051825260208201915060208101905060208303925062000598565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b6136c6806200061a6000396000f3006080604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461012057806332ed5b12146101515780633530099014610251578063504115521461029a578063693ec85e146102db57806377609a41146103585780638240ae4b146103a157806386bb8f37146103e65780638f1d37761461041d578063a5ba3b1e146104aa578063a7aad3db1461050f578063bade1c541461057a578063c51131fb14610609578063dc6ab52714610652578063fc0c546a14610697578063fce1ccca146106ee575b600080fd5b34801561010157600080fd5b5061010a610745565b6040518082815260200191505060405180910390f35b34801561012c57600080fd5b5061014f600480360381019080803560001916906020019092919050505061074b565b005b34801561015d57600080fd5b506101806004803603810190808035600019169060200190929190505050610eb4565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156102105780820151818401526020810190506101f5565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561025d57600080fd5b506102806004803603810190808035600019169060200190929190505050610fae565b604051808215151515815260200191505060405180910390f35b3480156102a657600080fd5b506102c560048036038101908080359060200190929190505050610fd8565b6040518082815260200191505060405180910390f35b3480156102e757600080fd5b50610342600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611108565b6040518082815260200191505060405180910390f35b34801561036457600080fd5b5061038760048036038101908080356000191690602001909291905050506111fa565b604051808215151515815260200191505060405180910390f35b3480156103ad57600080fd5b506103d06004803603810190808035600019169060200190929190505050611510565b6040518082815260200191505060405180910390f35b3480156103f257600080fd5b5061041b6004803603810190808035906020019092919080359060200190929190505050611c50565b005b34801561042957600080fd5b5061044860048036038101908080359060200190929190505050612026565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b3480156104b657600080fd5b506104f560048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612089565b604051808215151515815260200191505060405180910390f35b34801561051b57600080fd5b50610564600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506120f4565b6040518082815260200191505060405180910390f35b34801561058657600080fd5b506105eb600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050612250565b60405180826000191660001916815260200191505060405180910390f35b34801561061557600080fd5b506106386004803603810190808035600019169060200190929190505050612b3d565b604051808215151515815260200191505060405180910390f35b34801561065e57600080fd5b506106816004803603810190808035600019169060200190929190505050612cc8565b6040518082815260200191505060405180910390f35b3480156106a357600080fd5b506106ac612ce0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106fa57600080fd5b50610703612d06565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107a484612b3d565b15610aad57610853836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b50505050508460060154612d2c565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050935050505060405180910390a2600260008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006109649190613511565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b505050506040513d6020811015610a8c57600080fd5b81019080805190602001909291905050501515610aa857600080fd5b610c9a565b610ab6846111fa565b15610ac957610ac484612e1d565b610c99565b8260050154421115610c935783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610b4a9190613511565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c4857600080fd5b505af1158015610c5c573d6000803e3d6000fd5b505050506040513d6020811015610c7257600080fd5b81019080805190602001909291905050501515610c8e57600080fd5b610c98565b600080fd5b5b5b6064610cda6040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250611108565b11151515610ce457fe5b6064610d246040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b11151515610d2e57fe5b610e30600554610e22610d756040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b610e14610db66040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b610e06610df76040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610e759190613511565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f725780601f10610f4757610100808354040283529160200191610f72565b820191906000526020600020905b815481529060010190602001808311610f5557829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561106c57600080fd5b505af1158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b810190808051906020019092919050505014156110ce5760016000838152602001908152602001600020600201546002029050611103565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040516020018082805190602001908083835b6020831015156111465780518252602082019150602081019050602083039250611121565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831015156111af578051825260208201915060208101905060208303925061118a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000611204613559565b61120c6135ad565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112ea5780601f106112bf576101008083540402835291602001916112ea565b820191906000526020600020905b8154815290600101906020018083116112cd57829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff161515151581526020016002820154815260200160038201548152505090506000826020015111801561142f57506000151581604001511515145b80156115075750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156114cb57600080fd5b505af11580156114df573d6000803e3d6000fd5b505050506040513d60208110156114f557600080fd5b81019080805190602001909291905050505b92505050919050565b600061151a613559565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115fe5780601f106115d3576101008083540402835291602001916115fe565b820191906000526020600020905b8154815290600101906020018083116115e157829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505094508460400151935061168387610fae565b8015611693575060008560200151145b151561169e57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d6061171a6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250611108565b6117586040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b6117966040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b1580156117f657600080fd5b505af115801561180a573d6000803e3d6000fd5b505050506040513d602081101561182057600080fd5b8101908080519060200190929190505050925060a0604051908101604052806118ac606461189e88611890606461188b6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b6134aa565b6134c390919063ffffffff16565b6134fb90919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b505050506040513d6020811015611ac257600080fd5b81019080805190602001909291905050501515611ade57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b158015611b6f57600080fd5b505af1158015611b83573d6000803e3d6000fd5b505050506040513d60a0811015611b9957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611cc657600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611cfc57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611dc957600080fd5b505af1158015611ddd573d6000803e3d6000fd5b505050506040513d6020811015611df357600080fd5b81019080805190602001909291905050509150611e113385856120f4565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611fda57600080fd5b505af1158015611fee573d6000803e3d6000fd5b505050506040513d602081101561200457600080fd5b8101908080519060200190929190505050151561202057600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b505050506040513d602081101561222357600080fd5b810190808051906020019092919050505090508282820281151561224357fe5b0493505050509392505050565b60008060006122936040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250611108565b915084846040516020018083805190602001908083835b6020831015156122cf57805182526020820191506020810190506020830392506122aa565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310151561233f578051825260208201915060208101905060208303925061231a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060405160200180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f0190506040516020818303038152906040526040518082805190602001908083835b6020831015156123e357805182526020820191506020810190506020830392506123be565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916856040516020018082805190602001908083835b60208310151561244d5780518252602082019150602081019050602083039250612428565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831015156124b65780518252602082019150602081019050602083039250612491565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161480612669575060405160200180807f7044697370656e736174696f6e5063740000000000000000000000000000000081525060100190506040516020818303038152906040526040518082805190602001908083835b602083101515612563578051825260208201915060208101905060208303925061253e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916856040516020018082805190602001908083835b6020831015156125cd57805182526020820191506020810190506020830392506125a8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831015156126365780518252602082019150602081019050602083039250612611565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b1561267f576064841115151561267e57600080fd5b5b61268881610fae565b15151561269457600080fd5b8361269e86611108565b141515156126ab57600080fd5b60e0604051908101604052806127076126f86040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261348e90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff16815260200161283d60055461282f6127826040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b6128216127c36040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b6128136128046040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b815260200185815250600260008360001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301908051906020019061289b9291906135f5565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156129f357600080fd5b505af1158015612a07573d6000803e3d6000fd5b505050506040513d6020811015612a1d57600080fd5b81019080805190602001909291905050501515612a3957600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b83811015612af4578082015181840152602081019050612ad9565b50505050905090810190601f168015612b215780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b6000612b47613559565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c255780601f10612bfa57610100808354040283529160200191612c25565b820191906000526020600020905b815481529060010190602001808311612c0857829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509050806000015142118015612cb057508060a0015142105b8015612cc0575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040516020018082805190602001908083835b602083101515612d695780518252602082019150602081019050602083039250612d44565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083101515612dd25780518252602082019150602081019050602083039250612dad565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b612e25613559565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612f065780601f10612edb57610100808354040283529160200191612f06565b820191906000526020600020905b815481529060010190602001808311612ee957829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612fa18360200151610fd8565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561303857600080fd5b505af115801561304c573d6000803e3d6000fd5b505050506040513d602081101561306257600080fd5b8101908080519060200190929190505050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561312d57600080fd5b505af1158015613141573d6000803e3d6000fd5b505050506040513d602081101561315757600080fd5b8101908080519060200190929190505050156132f157428360a00151111561318c5761318b83606001518460c00151612d2c565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156132a657600080fd5b505af11580156132ba573d6000803e3d6000fd5b505050506040513d60208110156132d057600080fd5b810190808051906020019092919050505015156132ec57600080fd5b613488565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561344157600080fd5b505af1158015613455573d6000803e3d6000fd5b505050506040513d602081101561346b57600080fd5b8101908080519060200190929190505050151561348757600080fd5b5b50505050565b600081830190508281101515156134a157fe5b80905092915050565b60008282111515156134b857fe5b818303905092915050565b6000808314156134d657600090506134f5565b81830290508183828115156134e757fe5b041415156134f157fe5b8090505b92915050565b6000818381151561350857fe5b04905092915050565b50805460018160011615610100020316600290046000825580601f106135375750613556565b601f0160209004906000526020600020908101906135559190613675565b5b50565b60e06040519081016040528060008152602001600081526020016000815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061363657805160ff1916838001178555613664565b82800160010185558215613664579182015b82811115613663578251825591602001919060010190613648565b5b5090506136719190613675565b5090565b61369791905b8082111561369357600081600090555060010161367b565b5090565b905600a165627a7a72305820b56902304e03050844a67f14400cd7039bc3123b20270b9fd90d5971122555750029", + "deployedBytecode": "0x6080604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461012057806332ed5b12146101515780633530099014610251578063504115521461029a578063693ec85e146102db57806377609a41146103585780638240ae4b146103a157806386bb8f37146103e65780638f1d37761461041d578063a5ba3b1e146104aa578063a7aad3db1461050f578063bade1c541461057a578063c51131fb14610609578063dc6ab52714610652578063fc0c546a14610697578063fce1ccca146106ee575b600080fd5b34801561010157600080fd5b5061010a610745565b6040518082815260200191505060405180910390f35b34801561012c57600080fd5b5061014f600480360381019080803560001916906020019092919050505061074b565b005b34801561015d57600080fd5b506101806004803603810190808035600019169060200190929190505050610eb4565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156102105780820151818401526020810190506101f5565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561025d57600080fd5b506102806004803603810190808035600019169060200190929190505050610fae565b604051808215151515815260200191505060405180910390f35b3480156102a657600080fd5b506102c560048036038101908080359060200190929190505050610fd8565b6040518082815260200191505060405180910390f35b3480156102e757600080fd5b50610342600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611108565b6040518082815260200191505060405180910390f35b34801561036457600080fd5b5061038760048036038101908080356000191690602001909291905050506111fa565b604051808215151515815260200191505060405180910390f35b3480156103ad57600080fd5b506103d06004803603810190808035600019169060200190929190505050611510565b6040518082815260200191505060405180910390f35b3480156103f257600080fd5b5061041b6004803603810190808035906020019092919080359060200190929190505050611c50565b005b34801561042957600080fd5b5061044860048036038101908080359060200190929190505050612026565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b3480156104b657600080fd5b506104f560048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612089565b604051808215151515815260200191505060405180910390f35b34801561051b57600080fd5b50610564600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506120f4565b6040518082815260200191505060405180910390f35b34801561058657600080fd5b506105eb600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050612250565b60405180826000191660001916815260200191505060405180910390f35b34801561061557600080fd5b506106386004803603810190808035600019169060200190929190505050612b3d565b604051808215151515815260200191505060405180910390f35b34801561065e57600080fd5b506106816004803603810190808035600019169060200190929190505050612cc8565b6040518082815260200191505060405180910390f35b3480156106a357600080fd5b506106ac612ce0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106fa57600080fd5b50610703612d06565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107a484612b3d565b15610aad57610853836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b50505050508460060154612d2c565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050935050505060405180910390a2600260008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006109649190613511565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b505050506040513d6020811015610a8c57600080fd5b81019080805190602001909291905050501515610aa857600080fd5b610c9a565b610ab6846111fa565b15610ac957610ac484612e1d565b610c99565b8260050154421115610c935783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610b4a9190613511565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c4857600080fd5b505af1158015610c5c573d6000803e3d6000fd5b505050506040513d6020811015610c7257600080fd5b81019080805190602001909291905050501515610c8e57600080fd5b610c98565b600080fd5b5b5b6064610cda6040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250611108565b11151515610ce457fe5b6064610d246040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b11151515610d2e57fe5b610e30600554610e22610d756040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b610e14610db66040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b610e06610df76040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610e759190613511565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f725780601f10610f4757610100808354040283529160200191610f72565b820191906000526020600020905b815481529060010190602001808311610f5557829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561106c57600080fd5b505af1158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b810190808051906020019092919050505014156110ce5760016000838152602001908152602001600020600201546002029050611103565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040516020018082805190602001908083835b6020831015156111465780518252602082019150602081019050602083039250611121565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831015156111af578051825260208201915060208101905060208303925061118a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000611204613559565b61120c6135ad565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112ea5780601f106112bf576101008083540402835291602001916112ea565b820191906000526020600020905b8154815290600101906020018083116112cd57829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff161515151581526020016002820154815260200160038201548152505090506000826020015111801561142f57506000151581604001511515145b80156115075750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156114cb57600080fd5b505af11580156114df573d6000803e3d6000fd5b505050506040513d60208110156114f557600080fd5b81019080805190602001909291905050505b92505050919050565b600061151a613559565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115fe5780601f106115d3576101008083540402835291602001916115fe565b820191906000526020600020905b8154815290600101906020018083116115e157829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505094508460400151935061168387610fae565b8015611693575060008560200151145b151561169e57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d6061171a6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250611108565b6117586040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b6117966040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b1580156117f657600080fd5b505af115801561180a573d6000803e3d6000fd5b505050506040513d602081101561182057600080fd5b8101908080519060200190929190505050925060a0604051908101604052806118ac606461189e88611890606461188b6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250611108565b6134aa565b6134c390919063ffffffff16565b6134fb90919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611a9857600080fd5b505af1158015611aac573d6000803e3d6000fd5b505050506040513d6020811015611ac257600080fd5b81019080805190602001909291905050501515611ade57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b158015611b6f57600080fd5b505af1158015611b83573d6000803e3d6000fd5b505050506040513d60a0811015611b9957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611cc657600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611cfc57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611dc957600080fd5b505af1158015611ddd573d6000803e3d6000fd5b505050506040513d6020811015611df357600080fd5b81019080805190602001909291905050509150611e113385856120f4565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611fda57600080fd5b505af1158015611fee573d6000803e3d6000fd5b505050506040513d602081101561200457600080fd5b8101908080519060200190929190505050151561202057600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b505050506040513d602081101561222357600080fd5b810190808051906020019092919050505090508282820281151561224357fe5b0493505050509392505050565b60008060006122936040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250611108565b915084846040516020018083805190602001908083835b6020831015156122cf57805182526020820191506020810190506020830392506122aa565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310151561233f578051825260208201915060208101905060208303925061231a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060405160200180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f0190506040516020818303038152906040526040518082805190602001908083835b6020831015156123e357805182526020820191506020810190506020830392506123be565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916856040516020018082805190602001908083835b60208310151561244d5780518252602082019150602081019050602083039250612428565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831015156124b65780518252602082019150602081019050602083039250612491565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161480612669575060405160200180807f7044697370656e736174696f6e5063740000000000000000000000000000000081525060100190506040516020818303038152906040526040518082805190602001908083835b602083101515612563578051825260208201915060208101905060208303925061253e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916856040516020018082805190602001908083835b6020831015156125cd57805182526020820191506020810190506020830392506125a8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831015156126365780518252602082019150602081019050602083039250612611565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b1561267f576064841115151561267e57600080fd5b5b61268881610fae565b15151561269457600080fd5b8361269e86611108565b141515156126ab57600080fd5b60e0604051908101604052806127076126f86040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261348e90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff16815260200161283d60055461282f6127826040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250611108565b6128216127c36040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250611108565b6128136128046040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250611108565b4261348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b61348e90919063ffffffff16565b815260200185815250600260008360001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301908051906020019061289b9291906135f5565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156129f357600080fd5b505af1158015612a07573d6000803e3d6000fd5b505050506040513d6020811015612a1d57600080fd5b81019080805190602001909291905050501515612a3957600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b83811015612af4578082015181840152602081019050612ad9565b50505050905090810190601f168015612b215780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b6000612b47613559565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c255780601f10612bfa57610100808354040283529160200191612c25565b820191906000526020600020905b815481529060010190602001808311612c0857829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509050806000015142118015612cb057508060a0015142105b8015612cc0575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040516020018082805190602001908083835b602083101515612d695780518252602082019150602081019050602083039250612d44565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083101515612dd25780518252602082019150602081019050602083039250612dad565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b612e25613559565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612f065780601f10612edb57610100808354040283529160200191612f06565b820191906000526020600020905b815481529060010190602001808311612ee957829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612fa18360200151610fd8565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561303857600080fd5b505af115801561304c573d6000803e3d6000fd5b505050506040513d602081101561306257600080fd5b8101908080519060200190929190505050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561312d57600080fd5b505af1158015613141573d6000803e3d6000fd5b505050506040513d602081101561315757600080fd5b8101908080519060200190929190505050156132f157428360a00151111561318c5761318b83606001518460c00151612d2c565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156132a657600080fd5b505af11580156132ba573d6000803e3d6000fd5b505050506040513d60208110156132d057600080fd5b810190808051906020019092919050505015156132ec57600080fd5b613488565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561344157600080fd5b505af1158015613455573d6000803e3d6000fd5b505050506040513d602081101561346b57600080fd5b8101908080519060200190929190505050151561348757600080fd5b5b50505050565b600081830190508281101515156134a157fe5b80905092915050565b60008282111515156134b857fe5b818303905092915050565b6000808314156134d657600090506134f5565b81830290508183828115156134e757fe5b041415156134f157fe5b8090505b92915050565b6000818381151561350857fe5b04905092915050565b50805460018160011615610100020316600290046000825580601f106135375750613556565b601f0160209004906000526020600020908101906135559190613675565b5b50565b60e06040519081016040528060008152602001600081526020016000815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061363657805160ff1916838001178555613664565b82800160010185558215613664579182015b82811115613663578251825591602001919060010190613648565b5b5090506136719190613675565b5090565b61369791905b8082111561369357600081600090555060010161367b565b5090565b905600a165627a7a72305820b56902304e03050844a67f14400cd7039bc3123b20270b9fd90d5971122555750029", + "sourceMap": "101:14625:5:-;;;1964:6;1940:30;;3216:957;8:9:-1;5:2;;;30:1;27;20:12;5:2;3216:957:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3612:10;3598:5;;:25;;;;;;;;;;;;;;;;;;3649:9;3629:6;;:30;;;;;;;;;;;;;;;;;;3666;;;;;;;;;;;;;;;;;;;3684:11;3666:3;;;:30;;;:::i;:::-;3702:32;;;;;;;;;;;;;;;;;;;3721:12;3702:3;;;:32;;;:::i;:::-;3740:36;;;;;;;;;;;;;;;;;;;3761:14;3740:3;;;:36;;;:::i;:::-;3782:38;;;;;;;;;;;;;;;;;;;3804:15;3782:3;;;:38;;;:::i;:::-;3826;;;;;;;;;;;;;;;;;;;3848:15;3826:3;;;:38;;;:::i;:::-;3870:40;;;;;;;;;;;;;;;;;;;3893:16;3870:3;;;:40;;;:::i;:::-;3916:38;;;;;;;;;;;;;;;;;;;3938:15;3916:3;;;:38;;;:::i;:::-;3960:40;;;;;;;;;;;;;;;;;;;3983:16;3960:3;;;:40;;;:::i;:::-;4006;;;;;;;;;;;;;;;;;;;4029:16;4006:3;;;:40;;;:::i;:::-;4052:42;;;;;;;;;;;;;;;;;;;4076:17;4052:3;;;:42;;;:::i;:::-;4100:30;;;;;;;;;;;;;;;;;;;4118:11;4100:3;;;:30;;;:::i;:::-;4136:32;;;;;;;;;;;;;;;;;;;4155:12;4136:3;;;:32;;;:::i;:::-;3216:957;;;;;;;;;;;;;;101:14625;;14614:110;14713:6;14668;:42;14702:5;14685:23;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;14685:23:5;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14685:23:5;;;14675:34;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;14675:34:5;;;;;;;;;;;;;;;;14668:42;;;;;;;;;;;;;;;;;:51;;;;14614:110;;:::o;101:14625::-;;;;;;;", + "deployedSourceMap": "101:14625:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1940:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1940:30:5;;;;;;;;;;;;;;;;;;;;;;;7183:1608;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7183:1608:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1813:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1813:50:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1813:50:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11319:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11319:114:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12069:370;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12069:370:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12595:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12595:120:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11600:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11600:301:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5829:1059;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5829:1059:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9016:903;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9016:903:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1707:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1707:44:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12930:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12930:145:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10375:363;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10375:363:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4468:1220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4468:1220:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10955:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10955:204:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1612:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1612:38:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1890:18:5;;;;;;;;;;;;;;;;;;;;;;;;;;;1912:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1912:24:5;;;;;;;;;;;;;;;;;;;;;;;;;;;1940:30;;;;:::o;7183:1608::-;7238:26;7291:17;7327:16;7267:9;:18;7277:7;7267:18;;;;;;;;;;;;;;;;;7238:47;;7311:4;:10;;;;;;;;;;;;7291:30;;7346:4;:12;;;7327:31;;7539:17;7548:7;7539:8;:17::i;:::-;7535:920;;;7727:26;7731:4;:9;;7727:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7742:4;:10;;;7727:3;:26::i;:::-;7784:7;7766:49;;;;7793:4;:9;;7804:4;:10;;;7766:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7830:9;:18;7840:7;7830:18;;;;;;;;;;;;;;;;;;7823:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7864:5;;;;;;;;;;;:14;;;7879:9;7890:11;7864:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7864:38:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7864:38:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7864:38:5;;;;;;;;;;;;;;;;7856:47;;;;;;;;7535:920;;;7920:31;7943:7;7920:22;:31::i;:::-;7916:539;;;8013:25;8030:7;8013:16;:25::i;:::-;7916:539;;;8061:4;:14;;;8055:3;:20;8051:404;;;8195:7;8178:25;;;;;;;;;;;;;8218:9;:18;8228:7;8218:18;;;;;;;;;;;;;;;;;;8211:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8252:5;;;;;;;;;;;:14;;;8267:9;8278:11;8252:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8252:38:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8252:38:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8252:38:5;;;;;;;;;;;;;;;;8244:47;;;;;;;;8051:404;;;8440:8;;;8051:404;7916:539;7535:920;8494:3;8468:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;:29;;8461:37;;;;;;8538:3;8511:23;;;;;;;;;;;;;;;;;;;:3;:23::i;:::-;:30;;8504:38;;;;;;8632:122;8744:9;;8632:100;8709:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;8632:65;8674:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;8632:30;8640:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;8632:3;:7;;:30;;;;:::i;:::-;:41;;:65;;;;:::i;:::-;:76;;:100;;;;:::i;:::-;:111;;:122;;;;:::i;:::-;;8768:9;:18;8778:7;8768:18;;;;;;;;;;;;;;;;;;8761:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7183:1608;;;;:::o;1813:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11319:114::-;11377:4;11427:1;11396:9;:18;11406:7;11396:18;;;;;;;;;;;;;;;;;:28;;;:32;11389:39;;11319:114;;;:::o;12069:370::-;12140:4;12219:1;12156:6;;;;;;;;;;;:45;;;12202:12;12156:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12156:59:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12156:59:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12156:59:5;;;;;;;;;;;;;;;;:64;12152:195;;;12310:10;:24;12321:12;12310:24;;;;;;;;;;;:30;;;12306:1;:34;12299:41;;;;12152:195;12399:10;:24;12410:12;12399:24;;;;;;;;;;;:35;;;12365:10;:24;12376:12;12365:24;;;;;;;;;;;:30;;;12361:1;:34;12360:74;12353:81;;12069:370;;;;:::o;12595:120::-;12643:10;12668:6;:42;12702:5;12685:23;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;12685:23:5;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12685:23:5;;;12675:34;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;12675:34:5;;;;;;;;;;;;;;;;12668:42;;;;;;;;;;;;;;;;;;12661:49;;12595:120;;;:::o;11600:301::-;11670:4;11682:25;;:::i;:::-;11734:26;;:::i;:::-;11710:9;:18;11720:7;11710:18;;;;;;;;;;;;;;;;;11682:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11763:10;:28;11774:4;:16;;;11763:28;;;;;;;;;;;11734:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11825:1;11806:4;:16;;;:20;:51;;;;;11852:5;11830:27;;:9;:18;;;:27;;;11806:51;:89;;;;;11861:6;;;;;;;;;;;:16;;;11878:4;:16;;;11861:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11861:34:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11861:34:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11861:34:5;;;;;;;;;;;;;;;;11806:89;11798:98;;11600:301;;;;;:::o;5829:1059::-;5899:16;5923:25;;:::i;:::-;5975:12;6086:11;6639:18;6663;5951:9;:18;5961:7;5951:18;;;;;;;;;;;;;;;;;5923:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5990:4;:12;;;5975:27;;6017:19;6028:7;6017:10;:19::i;:::-;:44;;;;;6060:1;6040:4;:16;;;:21;6017:44;6009:53;;;;;;;;6100:6;;;;;;;;;;;:16;;;6124:18;;;;;;;;;;;;;;;;;;;:3;:18::i;:::-;6150:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;6180;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;6100:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6100:108:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6100:108:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6100:108:5;;;;;;;;;;;;;;;;6086:122;;6236:200;;;;;;;;;6296:64;6356:3;6296:55;6343:7;6296:42;6309:3;6314:23;;;;;;;;;;;;;;;;;;;:3;:23::i;:::-;6296:12;:42::i;:::-;:46;;:55;;;;:::i;:::-;:59;;:64;;;;:::i;:::-;6236:200;;;;6266:10;6236:200;;;;;;6400:5;6236:200;;;;;;6375:7;6236:200;;;;6428:1;6236:200;;;6215:10;:18;6226:6;6215:18;;;;;;;;;;;:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6476:6;6443:9;:18;6453:7;6443:18;;;;;;;;;;;;;;;;;:30;;:39;;;;6586:5;;;;;;;;;;;:18;;;6605:10;6617:4;6623:7;6586:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6586:45:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6586:45:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6586:45:5;;;;;;;;;;;;;;;;6578:54;;;;;;;;6721:6;;;;;;;;;;;:14;;;6736:6;6721:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6721:22:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6721:22:5;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6721:22:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6687:56;;;;;;;;;;;;;;6847:10;6755:108;;6776:7;6755:108;;;;6791:6;6805:13;6826;6755:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6877:6;6870:13;;5829:1059;;;;;;;;:::o;9016:903::-;9303:16;9387:11;9234:5;9182:57;;:10;:24;9193:12;9182:24;;;;;;;;;;;:36;;:48;9219:10;9182:48;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;9174:66;;;;;;;;9291:4;9254:41;;:10;:24;9265:12;9254:24;;;;;;;;;;;:33;;;;;;;;;;;;:41;;;9246:50;;;;;;;;9322:6;;;;;;;;;;;:26;;;9349:10;9361:12;9375:5;9322:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9322:59:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9322:59:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9322:59:5;;;;;;;;;;;;;;;;9303:78;;9401:44;9413:10;9425:12;9439:5;9401:11;:44::i;:::-;9387:58;;9632:11;9590:10;:24;9601:12;9590:24;;;;;;;;;;;:38;;;:53;;;;;;;;;;;9688:6;9649:10;:24;9660:12;9649:24;;;;;;;;;;;:35;;;:45;;;;;;;;;;;9801:4;9750:10;:24;9761:12;9750:24;;;;;;;;;;;:36;;:48;9787:10;9750:48;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;9854:10;9817:48;;9832:12;9817:48;9846:6;9817:48;;;;;;;;;;;;;;;;;;9879:5;;;;;;;;;;;:14;;;9894:10;9906:6;9879:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9879:34:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9879:34:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9879:34:5;;;;;;;;;;;;;;;;9871:43;;;;;;;;9016:903;;;;:::o;1707:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12930:145::-;13007:4;13026:10;:24;13037:12;13026:24;;;;;;;;;;;:36;;:44;13063:6;13026:44;;;;;;;;;;;;;;;;;;;;;;;;;13019:51;;12930:145;;;;:::o;10375:363::-;10466:4;10480:18;10545:15;10604:16;10501:10;:24;10512:12;10501:24;;;;;;;;;;;:38;;;10480:59;;10563:10;:24;10574:12;10563:24;;;;;;;;;;;:35;;;10545:53;;10623:6;;;;;;;;;;;:26;;;10650:6;10658:12;10672:5;10623:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10623:55:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10623:55:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10623:55:5;;;;;;;;;;;;;;;;10604:74;;10720:13;10706:10;10692:11;:24;10691:42;;;;;;;;10684:49;;10375:363;;;;;;;;:::o;4468:1220::-;4546:7;4561:12;4600:14;4576:18;;;;;;;;;;;;;;;;;;;:3;:18::i;:::-;4561:33;;4644:5;4651:6;4627:31;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4627:31:5;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4627:31:5;;;4617:42;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4617:42:5;;;;;;;;;;;;;;;;4600:59;;4718:35;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4718:35:5;;;4708:46;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4708:46:5;;;;;;;;;;;;;;;;4670:84;;;4697:5;4680:23;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4680:23:5;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4680:23:5;;;4670:34;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4670:34:5;;;;;;;;;;;;;;;;:84;;;;:180;;;;4813:36;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4813:36:5;;;4803:47;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4803:47:5;;;;;;;;;;;;;;;;4765:85;;;4792:5;4775:23;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4775:23:5;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4775:23:5;;;4765:34;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;4765:34:5;;;;;;;;;;;;;;;;:85;;;;4670:180;4666:223;;;4878:3;4868:6;:13;;4860:22;;;;;;;;4666:223;4904:18;4915:6;4904:10;:18::i;:::-;4903:19;4895:28;;;;;;;;4981:6;4967:10;4971:5;4967:3;:10::i;:::-;:20;;4959:29;;;;;;;;5089:328;;;;;;;;;5122:30;5130:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;5122:3;:7;;:30;;;;:::i;:::-;5089:328;;;;5173:1;5089:328;;;;5191:7;5089:328;;;;5212:5;5089:328;;;;5232:10;5089:328;;;;;;5261:128;5379:9;;5261:104;5342:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;5261:67;5305:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;5261:30;5269:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;5261:3;:7;;:30;;;;:::i;:::-;:43;;:67;;;;:::i;:::-;:80;;:104;;;;:::i;:::-;:117;;:128;;;;:::i;:::-;5089:328;;;;5404:6;5089:328;;;5069:9;:17;5079:6;5069:17;;;;;;;;;;;;;;;;;:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5432:5;;;;;;;;;;;:18;;;5451:10;5463:4;5469:7;5432:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5432:45:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5432:45:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5432:45:5;;;;;;;;;;;;;;;;5424:54;;;;;;;;5647:10;5521:142;;;5556:5;5569:6;5583;5597:7;5612:9;:17;5622:6;5612:17;;;;;;;;;;;;;;;;;:27;;;5521:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5521:142:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5677:6;5670:13;;4468:1220;;;;;;:::o;10955:204::-;11011:4;11023:25;;:::i;:::-;11051:9;:18;11061:7;11051:18;;;;;;;;;;;;;;;;;11023:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11090:4;:14;;;11084:3;:20;:44;;;;;11114:4;:14;;;11108:3;:20;11084:44;:69;;;;;11152:1;11132:4;:16;;;:21;11084:69;11076:78;;10955:204;;;;:::o;1612:38::-;;;;;;;;;;;;;;;;;:::o;1890:18::-;;;;;;;;;;;;;:::o;1912:24::-;;;;;;;;;;;;;:::o;14614:110::-;14713:6;14668;:42;14702:5;14685:23;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;14685:23:5;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;14685:23:5;;;14675:34;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;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;389:7;380;377:20;372:3;365:33;3:399;;;14675:34:5;;;;;;;;;;;;;;;;14668:42;;;;;;;;;;;;;;;;;:51;;;;14614:110;;:::o;13352:1076::-;13409:25;;:::i;:::-;13461:27;13611:11;13437:9;:18;13447:7;13437:18;;;;;;;;;;;;;;;;;13409:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13491:10;:28;13502:4;:16;;;13491:28;;;;;;;;;;;13461:58;;13625:39;13647:4;:16;;;13625:21;:39::i;:::-;13611:53;;13697:6;;;;;;;;;;;:45;;;13743:4;:16;;;13697:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13697:63:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13697:63:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13697:63:5;;;;;;;;;;;;;;;;13671:9;:23;;:89;;;;13787:4;13766:9;:18;;;:25;;;;;;;;;;;;;;;;;;13802:6;;;;;;;;;;;:15;;;13818:4;:16;;;13802:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13802:33:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13802:33:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13802:33:5;;;;;;;;;;;;;;;;13798:626;;;13890:3;13873:4;:14;;;:20;13869:71;;;13905:26;13909:4;:9;;;13920:4;:10;;;13905:3;:26::i;:::-;13869:71;13995:4;:16;;;13978:7;13952:130;;;;14021:9;:20;;;14051:9;:23;;;13952:130;;;;;;;;;;;;;;;;;;;;;;;;14099:5;;;;;;;;;;;:14;;;14114:4;:10;;;14126:6;14099:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14099:34:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14099:34:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14099:34:5;;;;;;;;;;;;;;;;14091:43;;;;;;;;13798:626;;;14249:4;:16;;;14232:7;14203:133;;;;14275:9;:20;;;14305:9;:23;;;14203:133;;;;;;;;;;;;;;;;;;;;;;;;14353:5;;;;;;;;;;;:14;;;14368:10;:28;14379:4;:16;;;14368:28;;;;;;;;;;;:39;;;;;;;;;;;;14409:6;14353:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14353:63:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14353:63:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14353:63:5;;;;;;;;;;;;;;;;14345:72;;;;;;;;13798:626;13352:1076;;;;:::o;1213:123:7:-;1271:9;1296:1;1292;:5;1288:9;;1315:1;1310;:6;;1303:14;;;;;;1330:1;1323:8;;1213:123;;;;:::o;1041:110::-;1099:7;1126:1;1121;:6;;1114:14;;;;;;1145:1;1141;:5;1134:12;;1041:110;;;;:::o;202:373::-;260:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;531:1;527;:5;523:9;;554:1;549;545;:5;;;;;;;;:10;538:18;;;;;;569:1;562:8;;202:373;;;;;:::o;657:272::-;715:7;923:1;919;:5;;;;;;;;912:12;;657:272;;;;:::o;101:14625:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"./PLCRVoting.sol\";\nimport \"./ERC20.sol\";\nimport \"./SafeMath.sol\";\n\n\ncontract Parameterizer {\n\n // ------\n // EVENTS\n // ------\n\n event _ReparameterizationProposal(string name, uint value, bytes32 propID, uint deposit, uint appEndDate, address indexed proposer);\n event _NewChallenge(bytes32 indexed propID, uint challengeID, uint commitEndDate, uint revealEndDate, address indexed challenger);\n event _ProposalAccepted(bytes32 indexed propID, string name, uint value);\n event _ProposalExpired(bytes32 indexed propID);\n event _ChallengeSucceeded(bytes32 indexed propID, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _ChallengeFailed(bytes32 indexed propID, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _RewardClaimed(uint indexed challengeID, uint reward, address indexed voter);\n\n\n // ------\n // DATA STRUCTURES\n // ------\n\n using SafeMath for uint;\n\n struct ParamProposal {\n uint appExpiry;\n uint challengeID;\n uint deposit;\n string name;\n address owner;\n uint processBy;\n uint value;\n }\n\n struct Challenge {\n uint rewardPool; // (remaining) pool of tokens distributed amongst winning voters\n address challenger; // owner of Challenge\n bool resolved; // indication of if challenge is resolved\n uint stake; // number of tokens at risk for either party during challenge\n uint winningTokens; // (remaining) amount of tokens used for voting by the winning side\n mapping(address => bool) tokenClaims;\n }\n\n // ------\n // STATE\n // ------\n\n mapping(bytes32 => uint) public params;\n\n // maps challengeIDs to associated challenge data\n mapping(uint => Challenge) public challenges;\n\n // maps pollIDs to intended data change if poll passes\n mapping(bytes32 => ParamProposal) public proposals;\n\n // Global Variables\n ERC20 public token;\n PLCRVoting public voting;\n uint public PROCESSBY = 604800; // 7 days\n\n // ------------\n // CONSTRUCTOR\n // ------------\n\n /**\n @dev constructor\n @param _tokenAddr address of the token which parameterizes this system\n @param _plcrAddr address of a PLCR voting contract for the provided token\n @param _minDeposit minimum deposit for listing to be whitelisted\n @param _pMinDeposit minimum deposit to propose a reparameterization\n @param _applyStageLen period over which applicants wait to be whitelisted\n @param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n @param _dispensationPct percentage of losing party's deposit distributed to winning party\n @param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n @param _commitStageLen length of commit period for voting\n @param _pCommitStageLen length of commit period for voting in parameterizer\n @param _revealStageLen length of reveal period for voting\n @param _pRevealStageLen length of reveal period for voting in parameterizer\n @param _voteQuorum type of majority out of 100 necessary for vote success\n @param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer\n */\n constructor(\n address _tokenAddr,\n address _plcrAddr,\n uint _minDeposit,\n uint _pMinDeposit,\n uint _applyStageLen,\n uint _pApplyStageLen,\n uint _commitStageLen,\n uint _pCommitStageLen,\n uint _revealStageLen,\n uint _pRevealStageLen,\n uint _dispensationPct,\n uint _pDispensationPct,\n uint _voteQuorum,\n uint _pVoteQuorum\n ) public\n {\n token = ERC20(_tokenAddr);\n voting = PLCRVoting(_plcrAddr);\n\n set(\"minDeposit\", _minDeposit);\n set(\"pMinDeposit\", _pMinDeposit);\n set(\"applyStageLen\", _applyStageLen);\n set(\"pApplyStageLen\", _pApplyStageLen);\n set(\"commitStageLen\", _commitStageLen);\n set(\"pCommitStageLen\", _pCommitStageLen);\n set(\"revealStageLen\", _revealStageLen);\n set(\"pRevealStageLen\", _pRevealStageLen);\n set(\"dispensationPct\", _dispensationPct);\n set(\"pDispensationPct\", _pDispensationPct);\n set(\"voteQuorum\", _voteQuorum);\n set(\"pVoteQuorum\", _pVoteQuorum);\n }\n\n // -----------------------\n // TOKEN HOLDER INTERFACE\n // -----------------------\n\n /**\n @notice propose a reparamaterization of the key _name's value to _value.\n @param _name the name of the proposed param to be set\n @param _value the proposed value to set the param to be set\n */\n function proposeReparameterization(string _name, uint _value) public returns (bytes32) {\n uint deposit = get(\"pMinDeposit\");\n bytes32 propID = keccak256(abi.encodePacked(_name, _value));\n\n if (keccak256(abi.encodePacked(_name)) == keccak256(abi.encodePacked(\"dispensationPct\")) ||\n keccak256(abi.encodePacked(_name)) == keccak256(abi.encodePacked(\"pDispensationPct\"))) {\n require(_value <= 100);\n }\n\n require(!propExists(propID)); // Forbid duplicate proposals\n require(get(_name) != _value); // Forbid NOOP reparameterizations\n\n // attach name and value to pollID\n proposals[propID] = ParamProposal({\n appExpiry: now.add(get(\"pApplyStageLen\")),\n challengeID: 0,\n deposit: deposit,\n name: _name,\n owner: msg.sender,\n processBy: now.add(get(\"pApplyStageLen\"))\n .add(get(\"pCommitStageLen\"))\n .add(get(\"pRevealStageLen\"))\n .add(PROCESSBY),\n value: _value\n });\n\n require(token.transferFrom(msg.sender, this, deposit)); // escrow tokens (deposit amt)\n\n emit _ReparameterizationProposal(\n _name,\n _value,\n propID,\n deposit,\n proposals[propID].appExpiry,\n msg.sender\n );\n\n return propID;\n }\n\n /**\n @notice challenge the provided proposal ID, and put tokens at stake to do so.\n @param _propID the proposal ID to challenge\n */\n function challengeReparameterization(bytes32 _propID) public returns (uint challengeID) {\n ParamProposal memory prop = proposals[_propID];\n uint deposit = prop.deposit;\n\n require(propExists(_propID) && prop.challengeID == 0);\n\n //start poll\n uint pollID = voting.startPoll(\n get(\"pVoteQuorum\"),\n get(\"pCommitStageLen\"),\n get(\"pRevealStageLen\")\n );\n\n challenges[pollID] = Challenge({\n challenger: msg.sender,\n rewardPool: SafeMath.sub(100, get(\"pDispensationPct\")).mul(deposit).div(100),\n stake: deposit,\n resolved: false,\n winningTokens: 0\n });\n\n proposals[_propID].challengeID = pollID; // update listing to store most recent challenge\n\n //take tokens from challenger\n require(token.transferFrom(msg.sender, this, deposit));\n\n uint commitEndDate;\n uint revealEndDate;\n (commitEndDate, revealEndDate,) = voting.pollMap(pollID);\n\n emit _NewChallenge(\n _propID,\n pollID,\n commitEndDate,\n revealEndDate,\n msg.sender\n );\n\n return pollID;\n }\n\n /**\n @notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n @param _propID the proposal ID to make a determination and state transition for\n */\n function processProposal(bytes32 _propID) public {\n ParamProposal storage prop = proposals[_propID];\n address propOwner = prop.owner;\n uint propDeposit = prop.deposit;\n\n // Before any token transfers, deleting the proposal will ensure that if reentrancy occurs the\n // prop.owner and prop.deposit will be 0, thereby preventing theft\n if (canBeSet(_propID)) {\n // There is no challenge against the proposal. The processBy date for the proposal has not\n // passed, but the proposal's appExpirty date has passed.\n set(prop.name, prop.value);\n emit _ProposalAccepted(_propID, prop.name, prop.value);\n delete proposals[_propID];\n require(token.transfer(propOwner, propDeposit));\n } else if (challengeCanBeResolved(_propID)) {\n // There is a challenge against the proposal.\n resolveChallenge(_propID);\n } else if (now > prop.processBy) {\n // There is no challenge against the proposal, but the processBy date has passed.\n emit _ProposalExpired(_propID);\n delete proposals[_propID];\n require(token.transfer(propOwner, propDeposit));\n } else {\n // There is no challenge against the proposal, and neither the appExpiry date nor the\n // processBy date has passed.\n revert();\n }\n\n assert(get(\"dispensationPct\") <= 100);\n assert(get(\"pDispensationPct\") <= 100);\n\n // verify that future proposal appExpiry and processBy times will not overflow\n now.add(get(\"pApplyStageLen\"))\n .add(get(\"pCommitStageLen\"))\n .add(get(\"pRevealStageLen\"))\n .add(PROCESSBY);\n\n delete proposals[_propID];\n }\n\n /**\n @notice claim the tokens owed for the msg.sender in the provided challenge\n @param _challengeID the challenge ID to claim tokens for\n @param _salt the salt used to vote in the challenge being withdrawn for\n */\n function claimReward(uint _challengeID, uint _salt) public {\n // ensure voter has not already claimed tokens and challenge results have been processed\n require(challenges[_challengeID].tokenClaims[msg.sender] == false);\n require(challenges[_challengeID].resolved == true);\n\n uint voterTokens = voting.getNumPassingTokens(msg.sender, _challengeID, _salt);\n uint reward = voterReward(msg.sender, _challengeID, _salt);\n\n // subtract voter's information to preserve the participation ratios of other voters\n // compared to the remaining pool of rewards\n challenges[_challengeID].winningTokens -= voterTokens;\n challenges[_challengeID].rewardPool -= reward;\n\n // ensures a voter cannot claim tokens again\n challenges[_challengeID].tokenClaims[msg.sender] = true;\n\n emit _RewardClaimed(_challengeID, reward, msg.sender);\n require(token.transfer(msg.sender, reward));\n }\n\n // --------\n // GETTERS\n // --------\n\n /**\n @dev Calculates the provided voter's token reward for the given poll.\n @param _voter The address of the voter whose reward balance is to be returned\n @param _challengeID The ID of the challenge the voter's reward is being calculated for\n @param _salt The salt of the voter's commit hash in the given poll\n @return The uint indicating the voter's reward\n */\n function voterReward(address _voter, uint _challengeID, uint _salt)\n public view returns (uint)\n {\n uint winningTokens = challenges[_challengeID].winningTokens;\n uint rewardPool = challenges[_challengeID].rewardPool;\n uint voterTokens = voting.getNumPassingTokens(_voter, _challengeID, _salt);\n return (voterTokens * rewardPool) / winningTokens;\n }\n\n /**\n @notice Determines whether a proposal passed its application stage without a challenge\n @param _propID The proposal ID for which to determine whether its application stage passed without a challenge\n */\n function canBeSet(bytes32 _propID) view public returns (bool) {\n ParamProposal memory prop = proposals[_propID];\n\n return (now > prop.appExpiry && now < prop.processBy && prop.challengeID == 0);\n }\n\n /**\n @notice Determines whether a proposal exists for the provided proposal ID\n @param _propID The proposal ID whose existance is to be determined\n */\n function propExists(bytes32 _propID) view public returns (bool) {\n return proposals[_propID].processBy > 0;\n }\n\n /**\n @notice Determines whether the provided proposal ID has a challenge which can be resolved\n @param _propID The proposal ID whose challenge to inspect\n */\n function challengeCanBeResolved(bytes32 _propID) view public returns (bool) {\n ParamProposal memory prop = proposals[_propID];\n Challenge memory challenge = challenges[prop.challengeID];\n\n return (prop.challengeID > 0 && challenge.resolved == false && voting.pollEnded(prop.challengeID));\n }\n\n /**\n @notice Determines the number of tokens to awarded to the winning party in a challenge\n @param _challengeID The challengeID to determine a reward for\n */\n function challengeWinnerReward(uint _challengeID) public view returns (uint) {\n if (voting.getTotalNumberOfTokensForWinningOption(_challengeID) == 0) {\n // Edge case, nobody voted, give all tokens to the challenger.\n return 2 * challenges[_challengeID].stake;\n }\n\n return (2 * challenges[_challengeID].stake) - challenges[_challengeID].rewardPool;\n }\n\n /**\n @notice gets the parameter keyed by the provided name value from the params mapping\n @param _name the key whose value is to be determined\n */\n function get(string _name) public view returns (uint value) {\n return params[keccak256(abi.encodePacked(_name))];\n }\n\n /**\n @dev Getter for Challenge tokenClaims mappings\n @param _challengeID The challengeID to query\n @param _voter The voter whose claim status to query for the provided challengeID\n */\n function tokenClaims(uint _challengeID, address _voter) public view returns (bool) {\n return challenges[_challengeID].tokenClaims[_voter];\n }\n\n // ----------------\n // PRIVATE FUNCTIONS\n // ----------------\n\n /**\n @dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n @param _propID the proposal ID whose challenge is to be resolved.\n */\n function resolveChallenge(bytes32 _propID) private {\n ParamProposal memory prop = proposals[_propID];\n Challenge storage challenge = challenges[prop.challengeID];\n\n // winner gets back their full staked deposit, and dispensationPct*loser's stake\n uint reward = challengeWinnerReward(prop.challengeID);\n\n challenge.winningTokens = voting.getTotalNumberOfTokensForWinningOption(prop.challengeID);\n challenge.resolved = true;\n\n if (voting.isPassed(prop.challengeID)) { // The challenge failed\n if (prop.processBy > now) {\n set(prop.name, prop.value);\n }\n emit _ChallengeFailed(\n _propID,\n prop.challengeID,\n challenge.rewardPool,\n challenge.winningTokens\n );\n\n require(token.transfer(prop.owner, reward));\n } else { // The challenge succeeded or nobody voted\n emit _ChallengeSucceeded(\n _propID,\n prop.challengeID,\n challenge.rewardPool,\n challenge.winningTokens\n );\n\n require(token.transfer(challenges[prop.challengeID].challenger, reward));\n }\n }\n\n /**\n @dev sets the param keted by the provided name to the provided value\n @param _name the name of the param to be set\n @param _value the value to set the param to be set\n */\n function set(string _name, uint _value) private {\n params[keccak256(abi.encodePacked(_name))] = _value;\n }\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/Parameterizer.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/Parameterizer.sol", + "exportedSymbols": { + "Parameterizer": [ + 2490 + ] + }, + "id": 2491, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1473, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/PLCRVoting.sol", + "file": "./PLCRVoting.sol", + "id": 1474, + "nodeType": "ImportDirective", + "scope": 2491, + "sourceUnit": 1472, + "src": "25:26:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 1475, + "nodeType": "ImportDirective", + "scope": 2491, + "sourceUnit": 409, + "src": "52:21:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 1476, + "nodeType": "ImportDirective", + "scope": 2491, + "sourceUnit": 3688, + "src": "74:24:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2490, + "linearizedBaseContracts": [ + 2490 + ], + "name": "Parameterizer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1490, + "name": "_ReparameterizationProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1478, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "200:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1477, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "200:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "213:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1479, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "213:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1482, + "indexed": false, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "225:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1481, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "225:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "241:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1483, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "241:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1486, + "indexed": false, + "name": "appEndDate", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "255:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "255:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1488, + "indexed": true, + "name": "proposer", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "272:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "272:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "199:98:5" + }, + "src": "166:132:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1502, + "name": "_NewChallenge", + "nodeType": "EventDefinition", + "parameters": { + "id": 1501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1492, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "321:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1491, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "321:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1494, + "indexed": false, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "345:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1493, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "345:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1496, + "indexed": false, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "363:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1495, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "363:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "indexed": false, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "383:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1497, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "383:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1500, + "indexed": true, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "403:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "403:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:110:5" + }, + "src": "301:130:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1510, + "name": "_ProposalAccepted", + "nodeType": "EventDefinition", + "parameters": { + "id": 1509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1504, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "458:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1503, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "458:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1506, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "482:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1505, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "482:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1508, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "495:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "457:49:5" + }, + "src": "434:73:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1514, + "name": "_ProposalExpired", + "nodeType": "EventDefinition", + "parameters": { + "id": 1513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1514, + "src": "533:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "533:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:24:5" + }, + "src": "510:47:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1524, + "name": "_ChallengeSucceeded", + "nodeType": "EventDefinition", + "parameters": { + "id": 1523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1516, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "586:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1515, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "586:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1518, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "610:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1517, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "610:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1520, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "636:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1519, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "636:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1522, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "653:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1521, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "653:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "585:85:5" + }, + "src": "560:111:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1534, + "name": "_ChallengeFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1526, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "697:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1525, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "697:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1528, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "721:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "721:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1530, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "747:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1529, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "747:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1532, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "764:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1531, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "764:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "696:85:5" + }, + "src": "674:108:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1542, + "name": "_RewardClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1536, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1542, + "src": "806:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1535, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "806:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1538, + "indexed": false, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 1542, + "src": "832:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1537, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "832:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1540, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 1542, + "src": "845:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "845:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "805:62:5" + }, + "src": "785:83:5" + }, + { + "id": 1545, + "libraryName": { + "contractScope": null, + "id": 1543, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3687, + "src": "925:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3687", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "919:24:5", + "typeName": { + "id": 1544, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "938:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "canonicalName": "Parameterizer.ParamProposal", + "id": 1560, + "members": [ + { + "constant": false, + "id": 1547, + "name": "appExpiry", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "974:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1546, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "974:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1549, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "994:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1548, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "994:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1551, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1016:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1550, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1016:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1553, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1034:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1552, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1034:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1555, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1051:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1051:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1557, + "name": "processBy", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1070:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1556, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1070:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1559, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1090:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1558, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1090:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ParamProposal", + "nodeType": "StructDefinition", + "scope": 2490, + "src": "947:158:5", + "visibility": "public" + }, + { + "canonicalName": "Parameterizer.Challenge", + "id": 1575, + "members": [ + { + "constant": false, + "id": 1562, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1132:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1561, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1132:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1564, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1225:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1225:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1566, + "name": "resolved", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1275:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1565, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1275:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1568, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1345:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1567, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1345:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1570, + "name": "winningTokens", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1435:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1569, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1435:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1574, + "name": "tokenClaims", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1531:36:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 1573, + "keyType": { + "id": 1571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1539:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1531:24:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 1572, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1550:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Challenge", + "nodeType": "StructDefinition", + "scope": 2490, + "src": "1109:463:5", + "visibility": "public" + }, + { + "constant": false, + "id": 1579, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1612:38:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 1578, + "keyType": { + "id": 1576, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1620:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1612:24:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 1577, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1631:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1583, + "name": "challenges", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1707:44:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" + }, + "typeName": { + "id": 1582, + "keyType": { + "id": 1580, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1715:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1707:26:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" + }, + "valueType": { + "contractScope": null, + "id": 1581, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1575, + "src": "1723:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1587, + "name": "proposals", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1813:50:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" + }, + "typeName": { + "id": 1586, + "keyType": { + "id": 1584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1821:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1813:33:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" + }, + "valueType": { + "contractScope": null, + "id": 1585, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "1832:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1589, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1890:18:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 1588, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 408, + "src": "1890:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1591, + "name": "voting", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1912:24:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + }, + "typeName": { + "contractScope": null, + "id": 1590, + "name": "PLCRVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1471, + "src": "1912:10:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1594, + "name": "PROCESSBY", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1940:30:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1592, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1940:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "363034383030", + "id": 1593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1964:6:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_604800_by_1", + "typeString": "int_const 604800" + }, + "value": "604800" + }, + "visibility": "public" + }, + { + "body": { + "id": 1697, + "nodeType": "Block", + "src": "3592:581:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1625, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "3598:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1627, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "3612:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1626, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "3606:5:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$408_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 1628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3606:17:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "src": "3598:25:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1630, + "nodeType": "ExpressionStatement", + "src": "3598:25:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1631, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "3629:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1633, + "name": "_plcrAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "3649:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1632, + "name": "PLCRVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "3638:10:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$1471_$", + "typeString": "type(contract PLCRVoting)" + } + }, + "id": 1634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3638:21:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "src": "3629:30:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 1636, + "nodeType": "ExpressionStatement", + "src": "3629:30:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 1638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3670:12:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + }, + { + "argumentTypes": null, + "id": 1639, + "name": "_minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1600, + "src": "3684:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1637, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3666:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3666:30:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1641, + "nodeType": "ExpressionStatement", + "src": "3666:30:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704d696e4465706f736974", + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3706:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + }, + "value": "pMinDeposit" + }, + { + "argumentTypes": null, + "id": 1644, + "name": "_pMinDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1602, + "src": "3721:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1642, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3702:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3702:32:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1646, + "nodeType": "ExpressionStatement", + "src": "3702:32:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6170706c7953746167654c656e", + "id": 1648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3744:15:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + }, + "value": "applyStageLen" + }, + { + "argumentTypes": null, + "id": 1649, + "name": "_applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1604, + "src": "3761:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1647, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3740:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3740:36:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1651, + "nodeType": "ExpressionStatement", + "src": "3740:36:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3786:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + }, + { + "argumentTypes": null, + "id": 1654, + "name": "_pApplyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1606, + "src": "3804:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1652, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3782:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3782:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1656, + "nodeType": "ExpressionStatement", + "src": "3782:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "636f6d6d697453746167654c656e", + "id": 1658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3830:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + }, + "value": "commitStageLen" + }, + { + "argumentTypes": null, + "id": 1659, + "name": "_commitStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1608, + "src": "3848:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1657, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3826:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3826:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1661, + "nodeType": "ExpressionStatement", + "src": "3826:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3874:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + }, + { + "argumentTypes": null, + "id": 1664, + "name": "_pCommitStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1610, + "src": "3893:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1662, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3870:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3870:40:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1666, + "nodeType": "ExpressionStatement", + "src": "3870:40:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "72657665616c53746167654c656e", + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3920:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + }, + "value": "revealStageLen" + }, + { + "argumentTypes": null, + "id": 1669, + "name": "_revealStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1612, + "src": "3938:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1667, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3916:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3916:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1671, + "nodeType": "ExpressionStatement", + "src": "3916:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 1673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3964:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + }, + { + "argumentTypes": null, + "id": 1674, + "name": "_pRevealStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1614, + "src": "3983:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1672, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3960:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3960:40:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1676, + "nodeType": "ExpressionStatement", + "src": "3960:40:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 1678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4010:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + }, + { + "argumentTypes": null, + "id": 1679, + "name": "_dispensationPct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1616, + "src": "4029:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1677, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4006:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4006:40:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1681, + "nodeType": "ExpressionStatement", + "src": "4006:40:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4056:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + }, + { + "argumentTypes": null, + "id": 1684, + "name": "_pDispensationPct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1618, + "src": "4076:17:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1682, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4052:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4052:42:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1686, + "nodeType": "ExpressionStatement", + "src": "4052:42:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "766f746551756f72756d", + "id": 1688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4104:12:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + }, + "value": "voteQuorum" + }, + { + "argumentTypes": null, + "id": 1689, + "name": "_voteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "4118:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1687, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4100:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4100:30:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1691, + "nodeType": "ExpressionStatement", + "src": "4100:30:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70566f746551756f72756d", + "id": 1693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4140:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + }, + "value": "pVoteQuorum" + }, + { + "argumentTypes": null, + "id": 1694, + "name": "_pVoteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1622, + "src": "4155:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1692, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4136:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4136:32:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1696, + "nodeType": "ExpressionStatement", + "src": "4136:32:5" + } + ] + }, + "documentation": "@dev constructor\n@param _tokenAddr address of the token which parameterizes this system\n@param _plcrAddr address of a PLCR voting contract for the provided token\n@param _minDeposit minimum deposit for listing to be whitelisted\n@param _pMinDeposit minimum deposit to propose a reparameterization\n@param _applyStageLen period over which applicants wait to be whitelisted\n@param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n@param _dispensationPct percentage of losing party's deposit distributed to winning party\n@param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n@param _commitStageLen length of commit period for voting\n@param _pCommitStageLen length of commit period for voting in parameterizer\n@param _revealStageLen length of reveal period for voting\n@param _pRevealStageLen length of reveal period for voting in parameterizer\n@param _voteQuorum type of majority out of 100 necessary for vote success\n@param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer", + "id": 1698, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1596, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3233:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3233:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1598, + "name": "_plcrAddr", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3257:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3257:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1600, + "name": "_minDeposit", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3280:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1599, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3280:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1602, + "name": "_pMinDeposit", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3302:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1601, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3302:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1604, + "name": "_applyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3325:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1603, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3325:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1606, + "name": "_pApplyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3350:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1605, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3350:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1608, + "name": "_commitStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3376:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1607, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3376:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1610, + "name": "_pCommitStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3402:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1609, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3402:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1612, + "name": "_revealStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3429:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1611, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3429:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1614, + "name": "_pRevealStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3455:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1613, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3455:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1616, + "name": "_dispensationPct", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3482:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1615, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3482:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1618, + "name": "_pDispensationPct", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3509:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1617, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3509:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1620, + "name": "_voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3537:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1619, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3537:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1622, + "name": "_pVoteQuorum", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3559:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1621, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3559:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3227:355:5" + }, + "payable": false, + "returnParameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [], + "src": "3592:0:5" + }, + "scope": 2490, + "src": "3216:957:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1836, + "nodeType": "Block", + "src": "4555:1133:5", + "statements": [ + { + "assignments": [ + 1708 + ], + "declarations": [ + { + "constant": false, + "id": 1708, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4561:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1707, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4561:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1712, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704d696e4465706f736974", + "id": 1710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4580:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + }, + "value": "pMinDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + } + ], + "id": 1709, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "4576:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4576:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4561:33:5" + }, + { + "assignments": [ + 1714 + ], + "declarations": [ + { + "constant": false, + "id": 1714, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4600:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4600:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1722, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1718, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4644:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1719, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "4651:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1716, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4627:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4627:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4627:31:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1715, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4617:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4617:42:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4600:59:5" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1726, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4697:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1724, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4680:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4680:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4680:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1723, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4670:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4670:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 1732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4735:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1730, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4718:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4718:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4718:35:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1729, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4708:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4708:46:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4670:84:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1739, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4792:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1737, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4775:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4775:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4775:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1736, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4765:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4765:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 1745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4830:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1743, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4813:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4813:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4813:36:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1742, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4803:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4803:47:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4765:85:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4670:180:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1757, + "nodeType": "IfStatement", + "src": "4666:223:5", + "trueBody": { + "id": 1756, + "nodeType": "Block", + "src": "4852:37:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1751, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "4868:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 1752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4878:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4868:13:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1750, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4860:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4860:22:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1755, + "nodeType": "ExpressionStatement", + "src": "4860:22:5" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4903:19:5", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1760, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "4915:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1759, + "name": "propExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "4904:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4904:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1758, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4895:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4895:28:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1764, + "nodeType": "ExpressionStatement", + "src": "4895:28:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1767, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4971:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1766, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "4967:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4967:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1769, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "4981:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4967:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1765, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4959:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4959:29:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1772, + "nodeType": "ExpressionStatement", + "src": "4959:29:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1773, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "5069:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1775, + "indexExpression": { + "argumentTypes": null, + "id": 1774, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5079:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5069:17:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 1780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5134:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + } + ], + "id": 1779, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5130:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5130:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1777, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "5122:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5122:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5122:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5173:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "id": 1784, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "5191:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1785, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "5212:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1786, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5232:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5232:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1805, + "name": "PROCESSBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "5379:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 1801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5346:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + } + ], + "id": 1800, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5342:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5309:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + } + ], + "id": 1795, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5305:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5305:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5273:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + } + ], + "id": 1790, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5269:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5269:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1788, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "5261:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:43:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:67:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:80:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:104:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:117:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:128:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1807, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "5404:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1776, + "name": "ParamProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "5089:13:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ParamProposal_$1560_storage_ptr_$", + "typeString": "type(struct Parameterizer.ParamProposal storage pointer)" + } + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "appExpiry", + "challengeID", + "deposit", + "name", + "owner", + "processBy", + "value" + ], + "nodeType": "FunctionCall", + "src": "5089:328:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "src": "5069:348:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 1810, + "nodeType": "ExpressionStatement", + "src": "5069:348:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1814, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5451:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5451:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1816, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3727, + "src": "5463:4:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + { + "argumentTypes": null, + "id": 1817, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "5469:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1812, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "5432:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "5432:18:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5432:45:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1811, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5424:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5424:54:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1820, + "nodeType": "ExpressionStatement", + "src": "5424:54:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1822, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "5556:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1823, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "5569:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1824, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5583:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1825, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "5597:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1826, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "5612:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1828, + "indexExpression": { + "argumentTypes": null, + "id": 1827, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5622:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5612:17:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 1829, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "appExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1547, + "src": "5612:27:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1830, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5647:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5647:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1821, + "name": "_ReparameterizationProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1490, + "src": "5521:27:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,bytes32,uint256,uint256,address)" + } + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5521:142:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1833, + "nodeType": "EmitStatement", + "src": "5516:147:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1834, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5677:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1706, + "id": 1835, + "nodeType": "Return", + "src": "5670:13:5" + } + ] + }, + "documentation": "@notice propose a reparamaterization of the key _name's value to _value.\n@param _name the name of the proposed param to be set\n@param _value the proposed value to set the param to be set", + "id": 1837, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "proposeReparameterization", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1700, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4503:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1699, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4503:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1702, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4517:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1701, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4517:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4502:27:5" + }, + "payable": false, + "returnParameters": { + "id": 1706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1705, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4546:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1704, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4546:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4545:9:5" + }, + "scope": 2490, + "src": "4468:1220:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1949, + "nodeType": "Block", + "src": "5917:971:5", + "statements": [ + { + "assignments": [ + 1845 + ], + "declarations": [ + { + "constant": false, + "id": 1845, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5923:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 1844, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "5923:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1849, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1846, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "5951:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1848, + "indexExpression": { + "argumentTypes": null, + "id": 1847, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "5961:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5951:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5923:46:5" + }, + { + "assignments": [ + 1851 + ], + "declarations": [ + { + "constant": false, + "id": 1851, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5975:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1850, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5975:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1854, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1852, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1845, + "src": "5990:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 1853, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1551, + "src": "5990:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5975:27:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1857, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6028:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1856, + "name": "propExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "6017:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6017:19:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1859, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1845, + "src": "6040:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 1860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "6040:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6060:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6040:21:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6017:44:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1855, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6009:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6009:53:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1865, + "nodeType": "ExpressionStatement", + "src": "6009:53:5" + }, + { + "assignments": [ + 1867 + ], + "declarations": [ + { + "constant": false, + "id": 1867, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "6086:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1866, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6086:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1880, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70566f746551756f72756d", + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6128:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + }, + "value": "pVoteQuorum" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + } + ], + "id": 1870, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6124:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6124:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6154:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + } + ], + "id": 1873, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6150:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6150:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6184:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + } + ], + "id": 1876, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6180:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6180:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1868, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "6100:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startPoll", + "nodeType": "MemberAccess", + "referencedDeclaration": 1101, + "src": "6100:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) external returns (uint256)" + } + }, + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6100:108:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6086:122:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1881, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "6215:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 1883, + "indexExpression": { + "argumentTypes": null, + "id": 1882, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6226:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6215:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1885, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6266:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6266:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6356:3:5", + "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" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1895, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "6343:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6309:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6318:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + } + ], + "id": 1890, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6314:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6314:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1887, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3687, + "src": "6296:8:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$3687_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3662, + "src": "6296:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6296:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3628, + "src": "6296:46:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6296:55:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 3642, + "src": "6296:59:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6296:64:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1900, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "6375:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6400:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6428:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": null, + "id": 1884, + "name": "Challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1575, + "src": "6236:9:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Challenge_$1575_storage_ptr_$", + "typeString": "type(struct Parameterizer.Challenge storage pointer)" + } + }, + "id": 1903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "challenger", + "rewardPool", + "stake", + "resolved", + "winningTokens" + ], + "nodeType": "FunctionCall", + "src": "6236:200:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_memory", + "typeString": "struct Parameterizer.Challenge memory" + } + }, + "src": "6215:221:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 1905, + "nodeType": "ExpressionStatement", + "src": "6215:221:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1906, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "6443:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1908, + "indexExpression": { + "argumentTypes": null, + "id": 1907, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6453:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6443:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 1909, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "6443:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1910, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6476:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6443:39:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1912, + "nodeType": "ExpressionStatement", + "src": "6443:39:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1916, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6605:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6605:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1918, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3727, + "src": "6617:4:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + { + "argumentTypes": null, + "id": 1919, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "6623:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1914, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "6586:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "6586:18:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6586:45:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1913, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6578:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6578:54:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1922, + "nodeType": "ExpressionStatement", + "src": "6578:54:5" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1924, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "6639:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1923, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6639:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1925, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "6639:18:5" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1927, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "6663:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1926, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6663:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1928, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "6663:18:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 1929, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1924, + "src": "6688:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1930, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "6703:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 1931, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6687:31:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1934, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6736:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1932, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "6721:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollMap", + "nodeType": "MemberAccess", + "referencedDeclaration": 535, + "src": "6721:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 1935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6721:22:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" + } + }, + "src": "6687:56:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1937, + "nodeType": "ExpressionStatement", + "src": "6687:56:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1939, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6776:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1940, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6791:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1941, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1924, + "src": "6805:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1942, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "6826:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1943, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6847:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6847:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1938, + "name": "_NewChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1502, + "src": "6755:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256,address)" + } + }, + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6755:108:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1946, + "nodeType": "EmitStatement", + "src": "6750:113:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1947, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6877:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1843, + "id": 1948, + "nodeType": "Return", + "src": "6870:13:5" + } + ] + }, + "documentation": "@notice challenge the provided proposal ID, and put tokens at stake to do so.\n@param _propID the proposal ID to challenge", + "id": 1950, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "challengeReparameterization", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1839, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5866:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1838, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5866:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5865:17:5" + }, + "payable": false, + "returnParameters": { + "id": 1843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1842, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5899:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1841, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5899:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5898:18:5" + }, + "scope": 2490, + "src": "5829:1059:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2082, + "nodeType": "Block", + "src": "7232:1559:5", + "statements": [ + { + "assignments": [ + 1956 + ], + "declarations": [ + { + "constant": false, + "id": 1956, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7238:26:5", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 1955, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "7238:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1960, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1957, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "7267:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1959, + "indexExpression": { + "argumentTypes": null, + "id": 1958, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7277:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7267:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7238:47:5" + }, + { + "assignments": [ + 1962 + ], + "declarations": [ + { + "constant": false, + "id": 1962, + "name": "propOwner", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7291:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1961, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7291:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1965, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1963, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7311:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1555, + "src": "7311:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7291:30:5" + }, + { + "assignments": [ + 1967 + ], + "declarations": [ + { + "constant": false, + "id": 1967, + "name": "propDeposit", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7327:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1966, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7327:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1970, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1968, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7346:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1551, + "src": "7346:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7327:31:5" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1972, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7548:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1971, + "name": "canBeSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "7539:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7539:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2004, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7943:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2003, + "name": "challengeCanBeResolved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2296, + "src": "7920:22:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7920:31:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2011, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "8055:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2012, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "8061:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 2013, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "8061:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8055:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2036, + "nodeType": "Block", + "src": "8304:151:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2033, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3707, + 3708 + ], + "referencedDeclaration": 3707, + "src": "8440:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8440:8:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2035, + "nodeType": "ExpressionStatement", + "src": "8440:8:5" + } + ] + }, + "id": 2037, + "nodeType": "IfStatement", + "src": "8051:404:5", + "trueBody": { + "id": 2032, + "nodeType": "Block", + "src": "8077:221:5", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2016, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8195:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2015, + "name": "_ProposalExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "8178:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8178:25:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2018, + "nodeType": "EmitStatement", + "src": "8173:30:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "8211:25:5", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2019, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "8218:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2021, + "indexExpression": { + "argumentTypes": null, + "id": 2020, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8228:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8218:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2023, + "nodeType": "ExpressionStatement", + "src": "8211:25:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2027, + "name": "propOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "8267:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2028, + "name": "propDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "8278:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2025, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "8252:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "8252:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8252:38:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2024, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8244:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8244:47:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2031, + "nodeType": "ExpressionStatement", + "src": "8244:47:5" + } + ] + } + }, + "id": 2038, + "nodeType": "IfStatement", + "src": "7916:539:5", + "trueBody": { + "id": 2010, + "nodeType": "Block", + "src": "7953:92:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2007, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8030:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2006, + "name": "resolveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2470, + "src": "8013:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8013:25:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2009, + "nodeType": "ExpressionStatement", + "src": "8013:25:5" + } + ] + } + }, + "id": 2039, + "nodeType": "IfStatement", + "src": "7535:920:5", + "trueBody": { + "id": 2002, + "nodeType": "Block", + "src": "7558:352:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1975, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7731:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1976, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1553, + "src": "7731:9:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1977, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7742:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1978, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "7742:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1974, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "7727:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7727:26:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1980, + "nodeType": "ExpressionStatement", + "src": "7727:26:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1982, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7784:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1983, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7793:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1553, + "src": "7793:9:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1985, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7804:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1986, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "7804:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1981, + "name": "_ProposalAccepted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "7766:17:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,uint256)" + } + }, + "id": 1987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7766:49:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1988, + "nodeType": "EmitStatement", + "src": "7761:54:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "7823:25:5", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1989, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "7830:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1991, + "indexExpression": { + "argumentTypes": null, + "id": 1990, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7840:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7830:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1993, + "nodeType": "ExpressionStatement", + "src": "7823:25:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1997, + "name": "propOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "7879:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1998, + "name": "propDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "7890:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1995, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "7864:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "7864:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7864:38:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1994, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7856:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7856:47:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2001, + "nodeType": "ExpressionStatement", + "src": "7856:47:5" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8472:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + } + ], + "id": 2041, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8468:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8468:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8494:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "8468:29:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2040, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "8461:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8461:37:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2047, + "nodeType": "ExpressionStatement", + "src": "8461:37:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 2050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8515:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + } + ], + "id": 2049, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8511:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8511:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8538:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "8511:30:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2048, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "8504:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8504:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2055, + "nodeType": "ExpressionStatement", + "src": "8504:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2074, + "name": "PROCESSBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "8744:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 2070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8713:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + } + ], + "id": 2069, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8709:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8709:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 2065, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8678:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + } + ], + "id": 2064, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8674:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8674:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 2060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8644:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + } + ], + "id": 2059, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8640:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8640:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2056, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "8632:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:41:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:65:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:76:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:100:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:111:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:122:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2076, + "nodeType": "ExpressionStatement", + "src": "8632:122:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "8761:25:5", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2077, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "8768:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2079, + "indexExpression": { + "argumentTypes": null, + "id": 2078, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8778:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8768:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2081, + "nodeType": "ExpressionStatement", + "src": "8761:25:5" + } + ] + }, + "documentation": "@notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n@param _propID the proposal ID to make a determination and state transition for", + "id": 2083, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1952, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7208:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7208:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7207:17:5" + }, + "payable": false, + "returnParameters": { + "id": 1954, + "nodeType": "ParameterList", + "parameters": [], + "src": "7232:0:5" + }, + "scope": 2490, + "src": "7183:1608:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2170, + "nodeType": "Block", + "src": "9075:844:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2091, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9182:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2093, + "indexExpression": { + "argumentTypes": null, + "id": 2092, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9193:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9182:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 1574, + "src": "9182:36:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2097, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2095, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9219:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9219:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9182:48:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9234:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "9182:57:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2090, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9174:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9174:66:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2101, + "nodeType": "ExpressionStatement", + "src": "9174:66:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2103, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9254:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2105, + "indexExpression": { + "argumentTypes": null, + "id": 2104, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9265:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9254:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 1566, + "src": "9254:33:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9291:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9254:41:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2102, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9246:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9246:50:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2110, + "nodeType": "ExpressionStatement", + "src": "9246:50:5" + }, + { + "assignments": [ + 2112 + ], + "declarations": [ + { + "constant": false, + "id": 2112, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9303:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2111, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9303:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2120, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2115, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9349:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9349:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2117, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9361:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2118, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "9375:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2113, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "9322:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "9322:26:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 2119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9322:59:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9303:78:5" + }, + { + "assignments": [ + 2122 + ], + "declarations": [ + { + "constant": false, + "id": 2122, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9387:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2121, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9387:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2129, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2124, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9413:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9413:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2126, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9425:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2127, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "9439:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2123, + "name": "voterReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "9401:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view returns (uint256)" + } + }, + "id": 2128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9401:44:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9387:58:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2130, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9590:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2132, + "indexExpression": { + "argumentTypes": null, + "id": 2131, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9601:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9590:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "9590:38:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 2134, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2112, + "src": "9632:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9590:53:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2136, + "nodeType": "ExpressionStatement", + "src": "9590:53:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2137, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9649:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2139, + "indexExpression": { + "argumentTypes": null, + "id": 2138, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9660:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9649:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "9649:35:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 2141, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9688:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9649:45:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2143, + "nodeType": "ExpressionStatement", + "src": "9649:45:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2144, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9750:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2146, + "indexExpression": { + "argumentTypes": null, + "id": 2145, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9761:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9750:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2147, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 1574, + "src": "9750:36:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2150, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2148, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9787:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9787:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9750:48:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9801:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9750:55:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2153, + "nodeType": "ExpressionStatement", + "src": "9750:55:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2155, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9832:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2156, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9846:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2157, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9854:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9854:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2154, + "name": "_RewardClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1542, + "src": "9817:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,address)" + } + }, + "id": 2159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9817:48:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2160, + "nodeType": "EmitStatement", + "src": "9812:53:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2164, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9894:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9894:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2166, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9906:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2162, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "9879:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "9879:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9879:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2161, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9871:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9871:43:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2169, + "nodeType": "ExpressionStatement", + "src": "9871:43:5" + } + ] + }, + "documentation": "@notice claim the tokens owed for the msg.sender in the provided challenge\n@param _challengeID the challenge ID to claim tokens for\n@param _salt the salt used to vote in the challenge being withdrawn for", + "id": 2171, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2085, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9037:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2084, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9037:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2087, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9056:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2086, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9056:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9036:31:5" + }, + "payable": false, + "returnParameters": { + "id": 2089, + "nodeType": "ParameterList", + "parameters": [], + "src": "9075:0:5" + }, + "scope": 2490, + "src": "9016:903:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2212, + "nodeType": "Block", + "src": "10474:264:5", + "statements": [ + { + "assignments": [ + 2183 + ], + "declarations": [ + { + "constant": false, + "id": 2183, + "name": "winningTokens", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10480:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2182, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10480:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2188, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2184, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "10501:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2186, + "indexExpression": { + "argumentTypes": null, + "id": 2185, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "10512:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10501:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "10501:38:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10480:59:5" + }, + { + "assignments": [ + 2190 + ], + "declarations": [ + { + "constant": false, + "id": 2190, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10545:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2189, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10545:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2195, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2191, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "10563:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2193, + "indexExpression": { + "argumentTypes": null, + "id": 2192, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "10574:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10563:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "10563:35:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10545:53:5" + }, + { + "assignments": [ + 2197 + ], + "declarations": [ + { + "constant": false, + "id": 2197, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10604:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2196, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10604:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2204, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2200, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2173, + "src": "10650:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2201, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "10658:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2202, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "10672:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2198, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "10623:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "10623:26:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 2203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10623:55:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10604:74:5" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2205, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2197, + "src": "10692:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 2206, + "name": "rewardPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "10706:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10692:24:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2208, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10691:26:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 2209, + "name": "winningTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "10720:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10691:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2181, + "id": 2211, + "nodeType": "Return", + "src": "10684:49:5" + } + ] + }, + "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The ID of the challenge the voter's reward is being calculated for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", + "id": 2213, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "voterReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2173, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10396:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10396:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2175, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10412:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2174, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10412:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2177, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10431:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2176, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10431:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10395:47:5" + }, + "payable": false, + "returnParameters": { + "id": 2181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2180, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10466:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2179, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10466:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10465:6:5" + }, + "scope": 2490, + "src": "10375:363:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2242, + "nodeType": "Block", + "src": "11017:142:5", + "statements": [ + { + "assignments": [ + 2221 + ], + "declarations": [ + { + "constant": false, + "id": 2221, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2243, + "src": "11023:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 2220, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "11023:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2225, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2222, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "11051:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2224, + "indexExpression": { + "argumentTypes": null, + "id": 2223, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2215, + "src": "11061:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11051:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11023:46:5" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2226, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "11084:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2227, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2221, + "src": "11090:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "appExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1547, + "src": "11090:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11084:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2230, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "11108:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2231, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2221, + "src": "11114:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2232, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "11114:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11108:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11084:44:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2235, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2221, + "src": "11132:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11132:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11152:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11132:21:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11084:69:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2240, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11083:71:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2219, + "id": 2241, + "nodeType": "Return", + "src": "11076:78:5" + } + ] + }, + "documentation": "@notice Determines whether a proposal passed its application stage without a challenge\n@param _propID The proposal ID for which to determine whether its application stage passed without a challenge", + "id": 2243, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "canBeSet", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2215, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2243, + "src": "10973:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10973:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10972:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2218, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2243, + "src": "11011:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2217, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11011:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11010:6:5" + }, + "scope": 2490, + "src": "10955:204:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2257, + "nodeType": "Block", + "src": "11383:50:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2250, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "11396:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2252, + "indexExpression": { + "argumentTypes": null, + "id": 2251, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "11406:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11396:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "11396:28:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11427:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11396:32:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2249, + "id": 2256, + "nodeType": "Return", + "src": "11389:39:5" + } + ] + }, + "documentation": "@notice Determines whether a proposal exists for the provided proposal ID\n@param _propID The proposal ID whose existance is to be determined", + "id": 2258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "propExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2245, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2258, + "src": "11339:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11339:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11338:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2248, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2258, + "src": "11377:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2247, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11377:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11376:6:5" + }, + "scope": 2490, + "src": "11319:114:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2295, + "nodeType": "Block", + "src": "11676:225:5", + "statements": [ + { + "assignments": [ + 2266 + ], + "declarations": [ + { + "constant": false, + "id": 2266, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11682:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 2265, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "11682:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2270, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2267, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "11710:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2269, + "indexExpression": { + "argumentTypes": null, + "id": 2268, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2260, + "src": "11720:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11710:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11682:46:5" + }, + { + "assignments": [ + 2272 + ], + "declarations": [ + { + "constant": false, + "id": 2272, + "name": "challenge", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11734:26:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_memory_ptr", + "typeString": "struct Parameterizer.Challenge" + }, + "typeName": { + "contractScope": null, + "id": 2271, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1575, + "src": "11734:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2277, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2273, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "11763:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2276, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2274, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11774:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2275, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11774:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11763:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11734:57:5" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2278, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11806:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11806:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11825:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11806:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2282, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2272, + "src": "11830:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_memory_ptr", + "typeString": "struct Parameterizer.Challenge memory" + } + }, + "id": 2283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 1566, + "src": "11830:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11852:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "11830:27:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11806:51:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2289, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11878:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11878:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2287, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "11861:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollEnded", + "nodeType": "MemberAccess", + "referencedDeclaration": 1187, + "src": "11861:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11861:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11806:89:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2293, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11805:91:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2264, + "id": 2294, + "nodeType": "Return", + "src": "11798:98:5" + } + ] + }, + "documentation": "@notice Determines whether the provided proposal ID has a challenge which can be resolved\n@param _propID The proposal ID whose challenge to inspect", + "id": 2296, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeCanBeResolved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2260, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11632:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2259, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11632:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11631:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2263, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11670:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2262, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11670:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11669:6:5" + }, + "scope": 2490, + "src": "11600:301:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2331, + "nodeType": "Block", + "src": "12146:293:5", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2305, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12202:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2303, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "12156:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "12156:45:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 2306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12156:59:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12219:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12156:64:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2317, + "nodeType": "IfStatement", + "src": "12152:195:5", + "trueBody": { + "id": 2316, + "nodeType": "Block", + "src": "12222:125:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12306:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2310, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "12310:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2312, + "indexExpression": { + "argumentTypes": null, + "id": 2311, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12321:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12310:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 1568, + "src": "12310:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12306:34:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2302, + "id": 2315, + "nodeType": "Return", + "src": "12299:41:5" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12361:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2319, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "12365:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2321, + "indexExpression": { + "argumentTypes": null, + "id": 2320, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12376:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12365:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2322, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 1568, + "src": "12365:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12361:34:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2324, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12360:36:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2325, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "12399:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2327, + "indexExpression": { + "argumentTypes": null, + "id": 2326, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12410:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12399:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "12399:35:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12360:74:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2302, + "id": 2330, + "nodeType": "Return", + "src": "12353:81:5" + } + ] + }, + "documentation": "@notice Determines the number of tokens to awarded to the winning party in a challenge\n@param _challengeID The challengeID to determine a reward for", + "id": 2332, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeWinnerReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2298, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2332, + "src": "12100:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2297, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12100:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12099:19:5" + }, + "payable": false, + "returnParameters": { + "id": 2302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2301, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2332, + "src": "12140:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2300, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12140:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12139:6:5" + }, + "scope": 2490, + "src": "12069:370:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2348, + "nodeType": "Block", + "src": "12655:60:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2339, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "12668:6:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2346, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2343, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2334, + "src": "12702:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 2341, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "12685:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12685:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12685:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2340, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "12675:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12675:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12668:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2338, + "id": 2347, + "nodeType": "Return", + "src": "12661:49:5" + } + ] + }, + "documentation": "@notice gets the parameter keyed by the provided name value from the params mapping\n@param _name the key whose value is to be determined", + "id": 2349, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2334, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2349, + "src": "12608:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2333, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12608:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12607:14:5" + }, + "payable": false, + "returnParameters": { + "id": 2338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2337, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2349, + "src": "12643:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2336, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12643:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12642:12:5" + }, + "scope": 2490, + "src": "12595:120:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2365, + "nodeType": "Block", + "src": "13013:62:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2358, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "13026:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2360, + "indexExpression": { + "argumentTypes": null, + "id": 2359, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2351, + "src": "13037:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13026:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 1574, + "src": "13026:36:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2363, + "indexExpression": { + "argumentTypes": null, + "id": 2362, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "13063:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13026:44:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2357, + "id": 2364, + "nodeType": "Return", + "src": "13019:51:5" + } + ] + }, + "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", + "id": 2366, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "tokenClaims", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2351, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2366, + "src": "12951:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2350, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12951:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2353, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 2366, + "src": "12970:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12970:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12950:35:5" + }, + "payable": false, + "returnParameters": { + "id": 2357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2356, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2366, + "src": "13007:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2355, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13007:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13006:6:5" + }, + "scope": 2490, + "src": "12930:145:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2469, + "nodeType": "Block", + "src": "13403:1025:5", + "statements": [ + { + "assignments": [ + 2372 + ], + "declarations": [ + { + "constant": false, + "id": 2372, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13409:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 2371, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "13409:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2376, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2373, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "13437:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2375, + "indexExpression": { + "argumentTypes": null, + "id": 2374, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2368, + "src": "13447:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13437:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13409:46:5" + }, + { + "assignments": [ + 2378 + ], + "declarations": [ + { + "constant": false, + "id": 2378, + "name": "challenge", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13461:27:5", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + }, + "typeName": { + "contractScope": null, + "id": 2377, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1575, + "src": "13461:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2383, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2379, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "13491:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2382, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2380, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13502:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2381, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13502:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13491:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13461:58:5" + }, + { + "assignments": [ + 2385 + ], + "declarations": [ + { + "constant": false, + "id": 2385, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13611:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2384, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13611:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2390, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2387, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13647:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13647:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2386, + "name": "challengeWinnerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2332, + "src": "13625:21:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13625:39:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13611:53:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2391, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "13671:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "13671:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2396, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13743:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13743:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2394, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "13697:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "13697:45:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 2398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13697:63:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13671:89:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2400, + "nodeType": "ExpressionStatement", + "src": "13671:89:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2401, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "13766:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2403, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 1566, + "src": "13766:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13787:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "13766:25:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2406, + "nodeType": "ExpressionStatement", + "src": "13766:25:5" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2409, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13818:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2410, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13818:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2407, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "13802:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isPassed", + "nodeType": "MemberAccess", + "referencedDeclaration": 1138, + "src": "13802:15:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13802:33:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2467, + "nodeType": "Block", + "src": "14147:277:5", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2446, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2368, + "src": "14232:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2447, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "14249:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2448, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "14249:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2449, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14275:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "14275:20:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2451, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14305:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "14305:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2445, + "name": "_ChallengeSucceeded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1524, + "src": "14203:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14203:133:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2454, + "nodeType": "EmitStatement", + "src": "14198:138:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2458, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "14368:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2461, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2459, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "14379:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "14379:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14368:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2462, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challenger", + "nodeType": "MemberAccess", + "referencedDeclaration": 1564, + "src": "14368:39:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2463, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "14409:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2456, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "14353:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "14353:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14353:63:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2455, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "14345:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14345:72:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2466, + "nodeType": "ExpressionStatement", + "src": "14345:72:5" + } + ] + }, + "id": 2468, + "nodeType": "IfStatement", + "src": "13798:626:5", + "trueBody": { + "id": 2444, + "nodeType": "Block", + "src": "13837:304:5", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2412, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13873:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "13873:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2414, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "13890:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13873:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2424, + "nodeType": "IfStatement", + "src": "13869:71:5", + "trueBody": { + "id": 2423, + "nodeType": "Block", + "src": "13895:45:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2417, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13909:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2418, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1553, + "src": "13909:9:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2419, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13920:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2420, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "13920:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2416, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "13905:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13905:26:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2422, + "nodeType": "ExpressionStatement", + "src": "13905:26:5" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2426, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2368, + "src": "13978:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2427, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13995:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13995:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2429, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14021:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "14021:20:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2431, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14051:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2432, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "14051:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2425, + "name": "_ChallengeFailed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "13952:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 2433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13952:130:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2434, + "nodeType": "EmitStatement", + "src": "13947:135:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2438, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "14114:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1555, + "src": "14114:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2440, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "14126:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2436, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "14099:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "14099:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14099:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2435, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "14091:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14091:43:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2443, + "nodeType": "ExpressionStatement", + "src": "14091:43:5" + } + ] + } + } + ] + }, + "documentation": "@dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n@param _propID the proposal ID whose challenge is to be resolved.", + "id": 2470, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resolveChallenge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2368, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13378:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2367, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13378:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13377:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2370, + "nodeType": "ParameterList", + "parameters": [], + "src": "13403:0:5" + }, + "scope": 2490, + "src": "13352:1076:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 2488, + "nodeType": "Block", + "src": "14662:62:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2477, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "14668:6:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2484, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2481, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2472, + "src": "14702:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 2479, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "14685:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14685:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14685:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2478, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "14675:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14675:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14668:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2485, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2474, + "src": "14713:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14668:51:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2487, + "nodeType": "ExpressionStatement", + "src": "14668:51:5" + } + ] + }, + "documentation": "@dev sets the param keted by the provided name to the provided value\n@param _name the name of the param to be set\n@param _value the value to set the param to be set", + "id": 2489, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "set", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2472, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "14627:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2471, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14627:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2474, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "14641:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2473, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14641:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14626:27:5" + }, + "payable": false, + "returnParameters": { + "id": 2476, + "nodeType": "ParameterList", + "parameters": [], + "src": "14662:0:5" + }, + "scope": 2490, + "src": "14614:110:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 2491, + "src": "101:14625:5" + } + ], + "src": "0:14727:5" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/Parameterizer.sol", + "exportedSymbols": { + "Parameterizer": [ + 2490 + ] + }, + "id": 2491, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1473, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/PLCRVoting.sol", + "file": "./PLCRVoting.sol", + "id": 1474, + "nodeType": "ImportDirective", + "scope": 2491, + "sourceUnit": 1472, + "src": "25:26:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 1475, + "nodeType": "ImportDirective", + "scope": 2491, + "sourceUnit": 409, + "src": "52:21:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 1476, + "nodeType": "ImportDirective", + "scope": 2491, + "sourceUnit": 3688, + "src": "74:24:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2490, + "linearizedBaseContracts": [ + 2490 + ], + "name": "Parameterizer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1490, + "name": "_ReparameterizationProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1478, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "200:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1477, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "200:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "213:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1479, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "213:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1482, + "indexed": false, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "225:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1481, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "225:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "241:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1483, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "241:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1486, + "indexed": false, + "name": "appEndDate", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "255:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "255:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1488, + "indexed": true, + "name": "proposer", + "nodeType": "VariableDeclaration", + "scope": 1490, + "src": "272:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "272:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "199:98:5" + }, + "src": "166:132:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1502, + "name": "_NewChallenge", + "nodeType": "EventDefinition", + "parameters": { + "id": 1501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1492, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "321:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1491, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "321:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1494, + "indexed": false, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "345:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1493, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "345:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1496, + "indexed": false, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "363:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1495, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "363:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "indexed": false, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "383:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1497, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "383:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1500, + "indexed": true, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "403:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "403:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:110:5" + }, + "src": "301:130:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1510, + "name": "_ProposalAccepted", + "nodeType": "EventDefinition", + "parameters": { + "id": 1509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1504, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "458:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1503, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "458:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1506, + "indexed": false, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "482:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1505, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "482:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1508, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "495:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "495:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "457:49:5" + }, + "src": "434:73:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1514, + "name": "_ProposalExpired", + "nodeType": "EventDefinition", + "parameters": { + "id": 1513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1514, + "src": "533:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "533:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "532:24:5" + }, + "src": "510:47:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1524, + "name": "_ChallengeSucceeded", + "nodeType": "EventDefinition", + "parameters": { + "id": 1523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1516, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "586:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1515, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "586:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1518, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "610:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1517, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "610:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1520, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "636:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1519, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "636:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1522, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 1524, + "src": "653:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1521, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "653:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "585:85:5" + }, + "src": "560:111:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1534, + "name": "_ChallengeFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1526, + "indexed": true, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "697:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1525, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "697:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1528, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "721:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "721:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1530, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "747:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1529, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "747:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1532, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "764:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1531, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "764:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "696:85:5" + }, + "src": "674:108:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 1542, + "name": "_RewardClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1536, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1542, + "src": "806:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1535, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "806:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1538, + "indexed": false, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 1542, + "src": "832:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1537, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "832:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1540, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 1542, + "src": "845:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "845:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "805:62:5" + }, + "src": "785:83:5" + }, + { + "id": 1545, + "libraryName": { + "contractScope": null, + "id": 1543, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3687, + "src": "925:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3687", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "919:24:5", + "typeName": { + "id": 1544, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "938:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "canonicalName": "Parameterizer.ParamProposal", + "id": 1560, + "members": [ + { + "constant": false, + "id": 1547, + "name": "appExpiry", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "974:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1546, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "974:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1549, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "994:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1548, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "994:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1551, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1016:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1550, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1016:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1553, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1034:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1552, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1034:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1555, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1051:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1051:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1557, + "name": "processBy", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1070:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1556, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1070:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1559, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1560, + "src": "1090:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1558, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1090:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ParamProposal", + "nodeType": "StructDefinition", + "scope": 2490, + "src": "947:158:5", + "visibility": "public" + }, + { + "canonicalName": "Parameterizer.Challenge", + "id": 1575, + "members": [ + { + "constant": false, + "id": 1562, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1132:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1561, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1132:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1564, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1225:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1225:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1566, + "name": "resolved", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1275:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1565, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1275:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1568, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1345:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1567, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1345:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1570, + "name": "winningTokens", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1435:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1569, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1435:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1574, + "name": "tokenClaims", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "1531:36:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 1573, + "keyType": { + "id": 1571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1539:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1531:24:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 1572, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1550:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Challenge", + "nodeType": "StructDefinition", + "scope": 2490, + "src": "1109:463:5", + "visibility": "public" + }, + { + "constant": false, + "id": 1579, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1612:38:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 1578, + "keyType": { + "id": 1576, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1620:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1612:24:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 1577, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1631:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1583, + "name": "challenges", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1707:44:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" + }, + "typeName": { + "id": 1582, + "keyType": { + "id": 1580, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1715:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1707:26:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge)" + }, + "valueType": { + "contractScope": null, + "id": 1581, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1575, + "src": "1723:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1587, + "name": "proposals", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1813:50:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" + }, + "typeName": { + "id": 1586, + "keyType": { + "id": 1584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1821:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1813:33:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal)" + }, + "valueType": { + "contractScope": null, + "id": 1585, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "1832:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1589, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1890:18:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 1588, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 408, + "src": "1890:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1591, + "name": "voting", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1912:24:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + }, + "typeName": { + "contractScope": null, + "id": 1590, + "name": "PLCRVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1471, + "src": "1912:10:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1594, + "name": "PROCESSBY", + "nodeType": "VariableDeclaration", + "scope": 2490, + "src": "1940:30:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1592, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1940:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "363034383030", + "id": 1593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1964:6:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_604800_by_1", + "typeString": "int_const 604800" + }, + "value": "604800" + }, + "visibility": "public" + }, + { + "body": { + "id": 1697, + "nodeType": "Block", + "src": "3592:581:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1625, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "3598:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1627, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "3612:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1626, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "3606:5:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$408_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 1628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3606:17:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "src": "3598:25:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1630, + "nodeType": "ExpressionStatement", + "src": "3598:25:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1631, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "3629:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1633, + "name": "_plcrAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "3649:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1632, + "name": "PLCRVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "3638:10:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$1471_$", + "typeString": "type(contract PLCRVoting)" + } + }, + "id": 1634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3638:21:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "src": "3629:30:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 1636, + "nodeType": "ExpressionStatement", + "src": "3629:30:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 1638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3670:12:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + }, + { + "argumentTypes": null, + "id": 1639, + "name": "_minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1600, + "src": "3684:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1637, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3666:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3666:30:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1641, + "nodeType": "ExpressionStatement", + "src": "3666:30:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704d696e4465706f736974", + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3706:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + }, + "value": "pMinDeposit" + }, + { + "argumentTypes": null, + "id": 1644, + "name": "_pMinDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1602, + "src": "3721:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1642, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3702:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3702:32:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1646, + "nodeType": "ExpressionStatement", + "src": "3702:32:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6170706c7953746167654c656e", + "id": 1648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3744:15:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + }, + "value": "applyStageLen" + }, + { + "argumentTypes": null, + "id": 1649, + "name": "_applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1604, + "src": "3761:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1647, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3740:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3740:36:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1651, + "nodeType": "ExpressionStatement", + "src": "3740:36:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3786:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + }, + { + "argumentTypes": null, + "id": 1654, + "name": "_pApplyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1606, + "src": "3804:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1652, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3782:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3782:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1656, + "nodeType": "ExpressionStatement", + "src": "3782:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "636f6d6d697453746167654c656e", + "id": 1658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3830:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + }, + "value": "commitStageLen" + }, + { + "argumentTypes": null, + "id": 1659, + "name": "_commitStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1608, + "src": "3848:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1657, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3826:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3826:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1661, + "nodeType": "ExpressionStatement", + "src": "3826:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3874:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + }, + { + "argumentTypes": null, + "id": 1664, + "name": "_pCommitStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1610, + "src": "3893:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1662, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3870:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3870:40:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1666, + "nodeType": "ExpressionStatement", + "src": "3870:40:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "72657665616c53746167654c656e", + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3920:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + }, + "value": "revealStageLen" + }, + { + "argumentTypes": null, + "id": 1669, + "name": "_revealStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1612, + "src": "3938:15:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1667, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3916:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3916:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1671, + "nodeType": "ExpressionStatement", + "src": "3916:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 1673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3964:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + }, + { + "argumentTypes": null, + "id": 1674, + "name": "_pRevealStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1614, + "src": "3983:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1672, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "3960:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3960:40:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1676, + "nodeType": "ExpressionStatement", + "src": "3960:40:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 1678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4010:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + }, + { + "argumentTypes": null, + "id": 1679, + "name": "_dispensationPct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1616, + "src": "4029:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1677, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4006:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4006:40:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1681, + "nodeType": "ExpressionStatement", + "src": "4006:40:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4056:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + }, + { + "argumentTypes": null, + "id": 1684, + "name": "_pDispensationPct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1618, + "src": "4076:17:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1682, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4052:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4052:42:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1686, + "nodeType": "ExpressionStatement", + "src": "4052:42:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "766f746551756f72756d", + "id": 1688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4104:12:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + }, + "value": "voteQuorum" + }, + { + "argumentTypes": null, + "id": 1689, + "name": "_voteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "4118:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1687, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4100:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4100:30:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1691, + "nodeType": "ExpressionStatement", + "src": "4100:30:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70566f746551756f72756d", + "id": 1693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4140:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + }, + "value": "pVoteQuorum" + }, + { + "argumentTypes": null, + "id": 1694, + "name": "_pVoteQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1622, + "src": "4155:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1692, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "4136:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4136:32:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1696, + "nodeType": "ExpressionStatement", + "src": "4136:32:5" + } + ] + }, + "documentation": "@dev constructor\n@param _tokenAddr address of the token which parameterizes this system\n@param _plcrAddr address of a PLCR voting contract for the provided token\n@param _minDeposit minimum deposit for listing to be whitelisted\n@param _pMinDeposit minimum deposit to propose a reparameterization\n@param _applyStageLen period over which applicants wait to be whitelisted\n@param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n@param _dispensationPct percentage of losing party's deposit distributed to winning party\n@param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n@param _commitStageLen length of commit period for voting\n@param _pCommitStageLen length of commit period for voting in parameterizer\n@param _revealStageLen length of reveal period for voting\n@param _pRevealStageLen length of reveal period for voting in parameterizer\n@param _voteQuorum type of majority out of 100 necessary for vote success\n@param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer", + "id": 1698, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1596, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3233:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3233:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1598, + "name": "_plcrAddr", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3257:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3257:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1600, + "name": "_minDeposit", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3280:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1599, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3280:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1602, + "name": "_pMinDeposit", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3302:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1601, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3302:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1604, + "name": "_applyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3325:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1603, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3325:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1606, + "name": "_pApplyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3350:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1605, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3350:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1608, + "name": "_commitStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3376:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1607, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3376:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1610, + "name": "_pCommitStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3402:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1609, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3402:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1612, + "name": "_revealStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3429:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1611, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3429:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1614, + "name": "_pRevealStageLen", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3455:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1613, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3455:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1616, + "name": "_dispensationPct", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3482:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1615, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3482:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1618, + "name": "_pDispensationPct", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3509:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1617, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3509:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1620, + "name": "_voteQuorum", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3537:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1619, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3537:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1622, + "name": "_pVoteQuorum", + "nodeType": "VariableDeclaration", + "scope": 1698, + "src": "3559:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1621, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3559:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3227:355:5" + }, + "payable": false, + "returnParameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [], + "src": "3592:0:5" + }, + "scope": 2490, + "src": "3216:957:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1836, + "nodeType": "Block", + "src": "4555:1133:5", + "statements": [ + { + "assignments": [ + 1708 + ], + "declarations": [ + { + "constant": false, + "id": 1708, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4561:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1707, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4561:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1712, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704d696e4465706f736974", + "id": 1710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4580:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + }, + "value": "pMinDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200", + "typeString": "literal_string \"pMinDeposit\"" + } + ], + "id": 1709, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "4576:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4576:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4561:33:5" + }, + { + "assignments": [ + 1714 + ], + "declarations": [ + { + "constant": false, + "id": 1714, + "name": "propID", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4600:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4600:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1722, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1718, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4644:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1719, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "4651:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1716, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4627:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4627:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4627:31:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1715, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4617:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4617:42:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4600:59:5" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1726, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4697:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1724, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4680:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4680:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4680:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1723, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4670:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4670:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 1732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4735:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1730, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4718:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4718:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4718:35:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1729, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4708:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4708:46:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4670:84:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1739, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4792:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1737, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4775:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4775:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4775:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1736, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4765:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4765:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 1745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4830:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1743, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "4813:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4813:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4813:36:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1742, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "4803:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4803:47:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4765:85:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4670:180:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1757, + "nodeType": "IfStatement", + "src": "4666:223:5", + "trueBody": { + "id": 1756, + "nodeType": "Block", + "src": "4852:37:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1751, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "4868:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 1752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4878:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4868:13:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1750, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4860:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4860:22:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1755, + "nodeType": "ExpressionStatement", + "src": "4860:22:5" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4903:19:5", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1760, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "4915:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1759, + "name": "propExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "4904:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4904:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1758, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4895:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4895:28:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1764, + "nodeType": "ExpressionStatement", + "src": "4895:28:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1767, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "4971:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1766, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "4967:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4967:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1769, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "4981:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4967:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1765, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4959:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4959:29:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1772, + "nodeType": "ExpressionStatement", + "src": "4959:29:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1773, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "5069:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1775, + "indexExpression": { + "argumentTypes": null, + "id": 1774, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5079:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5069:17:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 1780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5134:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + } + ], + "id": 1779, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5130:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5130:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1777, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "5122:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5122:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5122:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5173:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "id": 1784, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "5191:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1785, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "5212:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1786, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5232:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5232:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1805, + "name": "PROCESSBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "5379:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 1801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5346:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + } + ], + "id": 1800, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5342:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5309:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + } + ], + "id": 1795, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5305:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5305:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5273:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + } + ], + "id": 1790, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "5269:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5269:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1788, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "5261:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:43:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:67:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:80:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:104:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "5261:117:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5261:128:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1807, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "5404:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1776, + "name": "ParamProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "5089:13:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ParamProposal_$1560_storage_ptr_$", + "typeString": "type(struct Parameterizer.ParamProposal storage pointer)" + } + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "appExpiry", + "challengeID", + "deposit", + "name", + "owner", + "processBy", + "value" + ], + "nodeType": "FunctionCall", + "src": "5089:328:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "src": "5069:348:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 1810, + "nodeType": "ExpressionStatement", + "src": "5069:348:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1814, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5451:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5451:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1816, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3727, + "src": "5463:4:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + { + "argumentTypes": null, + "id": 1817, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "5469:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1812, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "5432:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "5432:18:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5432:45:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1811, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5424:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5424:54:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1820, + "nodeType": "ExpressionStatement", + "src": "5424:54:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1822, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1700, + "src": "5556:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1823, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1702, + "src": "5569:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1824, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5583:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1825, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1708, + "src": "5597:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1826, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "5612:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1828, + "indexExpression": { + "argumentTypes": null, + "id": 1827, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5622:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5612:17:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 1829, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "appExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1547, + "src": "5612:27:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1830, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5647:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5647:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1821, + "name": "_ReparameterizationProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1490, + "src": "5521:27:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (string memory,uint256,bytes32,uint256,uint256,address)" + } + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5521:142:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1833, + "nodeType": "EmitStatement", + "src": "5516:147:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1834, + "name": "propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5677:6:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1706, + "id": 1835, + "nodeType": "Return", + "src": "5670:13:5" + } + ] + }, + "documentation": "@notice propose a reparamaterization of the key _name's value to _value.\n@param _name the name of the proposed param to be set\n@param _value the proposed value to set the param to be set", + "id": 1837, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "proposeReparameterization", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1700, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4503:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1699, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4503:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1702, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4517:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1701, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4517:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4502:27:5" + }, + "payable": false, + "returnParameters": { + "id": 1706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1705, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "4546:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1704, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4546:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4545:9:5" + }, + "scope": 2490, + "src": "4468:1220:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1949, + "nodeType": "Block", + "src": "5917:971:5", + "statements": [ + { + "assignments": [ + 1845 + ], + "declarations": [ + { + "constant": false, + "id": 1845, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5923:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 1844, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "5923:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1849, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1846, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "5951:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1848, + "indexExpression": { + "argumentTypes": null, + "id": 1847, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "5961:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5951:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5923:46:5" + }, + { + "assignments": [ + 1851 + ], + "declarations": [ + { + "constant": false, + "id": 1851, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5975:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1850, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5975:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1854, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1852, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1845, + "src": "5990:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 1853, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1551, + "src": "5990:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5975:27:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1857, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6028:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1856, + "name": "propExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "6017:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6017:19:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1859, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1845, + "src": "6040:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 1860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "6040:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6060:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6040:21:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6017:44:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1855, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6009:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6009:53:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1865, + "nodeType": "ExpressionStatement", + "src": "6009:53:5" + }, + { + "assignments": [ + 1867 + ], + "declarations": [ + { + "constant": false, + "id": 1867, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "6086:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1866, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6086:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1880, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70566f746551756f72756d", + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6128:13:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + }, + "value": "pVoteQuorum" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138", + "typeString": "literal_string \"pVoteQuorum\"" + } + ], + "id": 1870, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6124:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6124:18:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6154:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + } + ], + "id": 1873, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6150:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6150:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6184:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + } + ], + "id": 1876, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6180:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6180:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1868, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "6100:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 1869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startPoll", + "nodeType": "MemberAccess", + "referencedDeclaration": 1101, + "src": "6100:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) external returns (uint256)" + } + }, + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6100:108:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6086:122:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1881, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "6215:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 1883, + "indexExpression": { + "argumentTypes": null, + "id": 1882, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6226:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6215:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1885, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6266:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6266:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6356:3:5", + "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" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1895, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "6343:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "313030", + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6309:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6318:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + } + ], + "id": 1890, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "6314:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 1892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6314:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1887, + "name": "SafeMath", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3687, + "src": "6296:8:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SafeMath_$3687_$", + "typeString": "type(library SafeMath)" + } + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3662, + "src": "6296:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6296:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 3628, + "src": "6296:46:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6296:55:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 3642, + "src": "6296:59:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6296:64:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1900, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "6375:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6400:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6428:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": null, + "id": 1884, + "name": "Challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1575, + "src": "6236:9:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Challenge_$1575_storage_ptr_$", + "typeString": "type(struct Parameterizer.Challenge storage pointer)" + } + }, + "id": 1903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "challenger", + "rewardPool", + "stake", + "resolved", + "winningTokens" + ], + "nodeType": "FunctionCall", + "src": "6236:200:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_memory", + "typeString": "struct Parameterizer.Challenge memory" + } + }, + "src": "6215:221:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 1905, + "nodeType": "ExpressionStatement", + "src": "6215:221:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1906, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "6443:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1908, + "indexExpression": { + "argumentTypes": null, + "id": 1907, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6453:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6443:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 1909, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "6443:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1910, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6476:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6443:39:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1912, + "nodeType": "ExpressionStatement", + "src": "6443:39:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1916, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6605:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6605:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1918, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3727, + "src": "6617:4:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + { + "argumentTypes": null, + "id": 1919, + "name": "deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "6623:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1914, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "6586:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "6586:18:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 1920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6586:45:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1913, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6578:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6578:54:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1922, + "nodeType": "ExpressionStatement", + "src": "6578:54:5" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1924, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "6639:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1923, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6639:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1925, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "6639:18:5" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 1927, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "6663:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1926, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6663:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1928, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "6663:18:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 1929, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1924, + "src": "6688:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1930, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "6703:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 1931, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6687:31:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1934, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6736:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1932, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "6721:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollMap", + "nodeType": "MemberAccess", + "referencedDeclaration": 535, + "src": "6721:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 1935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6721:22:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" + } + }, + "src": "6687:56:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1937, + "nodeType": "ExpressionStatement", + "src": "6687:56:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1939, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6776:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1940, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6791:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1941, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1924, + "src": "6805:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1942, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "6826:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1943, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6847:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6847:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1938, + "name": "_NewChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1502, + "src": "6755:13:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256,address)" + } + }, + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6755:108:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1946, + "nodeType": "EmitStatement", + "src": "6750:113:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1947, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "6877:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1843, + "id": 1948, + "nodeType": "Return", + "src": "6870:13:5" + } + ] + }, + "documentation": "@notice challenge the provided proposal ID, and put tokens at stake to do so.\n@param _propID the proposal ID to challenge", + "id": 1950, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "challengeReparameterization", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1839, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5866:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1838, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5866:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5865:17:5" + }, + "payable": false, + "returnParameters": { + "id": 1843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1842, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1950, + "src": "5899:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1841, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5899:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5898:18:5" + }, + "scope": 2490, + "src": "5829:1059:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2082, + "nodeType": "Block", + "src": "7232:1559:5", + "statements": [ + { + "assignments": [ + 1956 + ], + "declarations": [ + { + "constant": false, + "id": 1956, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7238:26:5", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 1955, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "7238:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1960, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1957, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "7267:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1959, + "indexExpression": { + "argumentTypes": null, + "id": 1958, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7277:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7267:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7238:47:5" + }, + { + "assignments": [ + 1962 + ], + "declarations": [ + { + "constant": false, + "id": 1962, + "name": "propOwner", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7291:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1961, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7291:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1965, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1963, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7311:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1555, + "src": "7311:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7291:30:5" + }, + { + "assignments": [ + 1967 + ], + "declarations": [ + { + "constant": false, + "id": 1967, + "name": "propDeposit", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7327:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1966, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7327:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1970, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1968, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7346:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "deposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1551, + "src": "7346:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7327:31:5" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1972, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7548:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1971, + "name": "canBeSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "7539:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7539:17:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2004, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7943:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2003, + "name": "challengeCanBeResolved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2296, + "src": "7920:22:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7920:31:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2011, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "8055:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2012, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "8061:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 2013, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "8061:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8055:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2036, + "nodeType": "Block", + "src": "8304:151:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2033, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3707, + 3708 + ], + "referencedDeclaration": 3707, + "src": "8440:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8440:8:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2035, + "nodeType": "ExpressionStatement", + "src": "8440:8:5" + } + ] + }, + "id": 2037, + "nodeType": "IfStatement", + "src": "8051:404:5", + "trueBody": { + "id": 2032, + "nodeType": "Block", + "src": "8077:221:5", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2016, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8195:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2015, + "name": "_ProposalExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "8178:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8178:25:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2018, + "nodeType": "EmitStatement", + "src": "8173:30:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "8211:25:5", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2019, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "8218:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2021, + "indexExpression": { + "argumentTypes": null, + "id": 2020, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8228:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8218:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2023, + "nodeType": "ExpressionStatement", + "src": "8211:25:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2027, + "name": "propOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "8267:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2028, + "name": "propDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "8278:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2025, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "8252:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "8252:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8252:38:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2024, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8244:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8244:47:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2031, + "nodeType": "ExpressionStatement", + "src": "8244:47:5" + } + ] + } + }, + "id": 2038, + "nodeType": "IfStatement", + "src": "7916:539:5", + "trueBody": { + "id": 2010, + "nodeType": "Block", + "src": "7953:92:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2007, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8030:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2006, + "name": "resolveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2470, + "src": "8013:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8013:25:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2009, + "nodeType": "ExpressionStatement", + "src": "8013:25:5" + } + ] + } + }, + "id": 2039, + "nodeType": "IfStatement", + "src": "7535:920:5", + "trueBody": { + "id": 2002, + "nodeType": "Block", + "src": "7558:352:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1975, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7731:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1976, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1553, + "src": "7731:9:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1977, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7742:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1978, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "7742:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1974, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "7727:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7727:26:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1980, + "nodeType": "ExpressionStatement", + "src": "7727:26:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1982, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7784:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1983, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7793:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1553, + "src": "7793:9:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1985, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "7804:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal storage pointer" + } + }, + "id": 1986, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "7804:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1981, + "name": "_ProposalAccepted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "7766:17:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,string memory,uint256)" + } + }, + "id": 1987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7766:49:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1988, + "nodeType": "EmitStatement", + "src": "7761:54:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "7823:25:5", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1989, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "7830:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 1991, + "indexExpression": { + "argumentTypes": null, + "id": 1990, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7840:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7830:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1993, + "nodeType": "ExpressionStatement", + "src": "7823:25:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1997, + "name": "propOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "7879:9:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1998, + "name": "propDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1967, + "src": "7890:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1995, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "7864:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "7864:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7864:38:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1994, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7856:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7856:47:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2001, + "nodeType": "ExpressionStatement", + "src": "7856:47:5" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8472:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + } + ], + "id": 2041, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8468:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8468:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8494:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "8468:29:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2040, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "8461:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8461:37:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2047, + "nodeType": "ExpressionStatement", + "src": "8461:37:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7044697370656e736174696f6e506374", + "id": 2050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8515:18:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + }, + "value": "pDispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79", + "typeString": "literal_string \"pDispensationPct\"" + } + ], + "id": 2049, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8511:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8511:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8538:3:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "8511:30:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2048, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "8504:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8504:38:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2055, + "nodeType": "ExpressionStatement", + "src": "8504:38:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2074, + "name": "PROCESSBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1594, + "src": "8744:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "7052657665616c53746167654c656e", + "id": 2070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8713:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + }, + "value": "pRevealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5", + "typeString": "literal_string \"pRevealStageLen\"" + } + ], + "id": 2069, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8709:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8709:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "70436f6d6d697453746167654c656e", + "id": 2065, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8678:17:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + }, + "value": "pCommitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1", + "typeString": "literal_string \"pCommitStageLen\"" + } + ], + "id": 2064, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8674:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8674:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "704170706c7953746167654c656e", + "id": 2060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8644:16:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + }, + "value": "pApplyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8", + "typeString": "literal_string \"pApplyStageLen\"" + } + ], + "id": 2059, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2349, + "src": "8640:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view returns (uint256)" + } + }, + "id": 2061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8640:21:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2056, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "8632:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:41:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:65:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:76:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:100:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "8632:111:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8632:122:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2076, + "nodeType": "ExpressionStatement", + "src": "8632:122:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "8761:25:5", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2077, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "8768:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2079, + "indexExpression": { + "argumentTypes": null, + "id": 2078, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "8778:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8768:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2081, + "nodeType": "ExpressionStatement", + "src": "8761:25:5" + } + ] + }, + "documentation": "@notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n@param _propID the proposal ID to make a determination and state transition for", + "id": 2083, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1952, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "7208:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7208:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7207:17:5" + }, + "payable": false, + "returnParameters": { + "id": 1954, + "nodeType": "ParameterList", + "parameters": [], + "src": "7232:0:5" + }, + "scope": 2490, + "src": "7183:1608:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2170, + "nodeType": "Block", + "src": "9075:844:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2091, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9182:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2093, + "indexExpression": { + "argumentTypes": null, + "id": 2092, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9193:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9182:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 1574, + "src": "9182:36:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2097, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2095, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9219:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9219:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9182:48:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9234:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "9182:57:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2090, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9174:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9174:66:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2101, + "nodeType": "ExpressionStatement", + "src": "9174:66:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2103, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9254:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2105, + "indexExpression": { + "argumentTypes": null, + "id": 2104, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9265:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9254:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 1566, + "src": "9254:33:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9291:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9254:41:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2102, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9246:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9246:50:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2110, + "nodeType": "ExpressionStatement", + "src": "9246:50:5" + }, + { + "assignments": [ + 2112 + ], + "declarations": [ + { + "constant": false, + "id": 2112, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9303:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2111, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9303:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2120, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2115, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9349:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9349:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2117, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9361:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2118, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "9375:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2113, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "9322:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "9322:26:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 2119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9322:59:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9303:78:5" + }, + { + "assignments": [ + 2122 + ], + "declarations": [ + { + "constant": false, + "id": 2122, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9387:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2121, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9387:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2129, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2124, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9413:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9413:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2126, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9425:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2127, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2087, + "src": "9439:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2123, + "name": "voterReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2213, + "src": "9401:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view returns (uint256)" + } + }, + "id": 2128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9401:44:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9387:58:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2130, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9590:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2132, + "indexExpression": { + "argumentTypes": null, + "id": 2131, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9601:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9590:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "9590:38:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 2134, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2112, + "src": "9632:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9590:53:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2136, + "nodeType": "ExpressionStatement", + "src": "9590:53:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2137, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9649:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2139, + "indexExpression": { + "argumentTypes": null, + "id": 2138, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9660:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9649:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "9649:35:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 2141, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9688:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9649:45:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2143, + "nodeType": "ExpressionStatement", + "src": "9649:45:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2144, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "9750:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2146, + "indexExpression": { + "argumentTypes": null, + "id": 2145, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9761:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9750:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2147, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 1574, + "src": "9750:36:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2150, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2148, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9787:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9787:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9750:48:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9801:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9750:55:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2153, + "nodeType": "ExpressionStatement", + "src": "9750:55:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2155, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2085, + "src": "9832:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2156, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9846:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2157, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9854:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9854:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2154, + "name": "_RewardClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1542, + "src": "9817:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,address)" + } + }, + "id": 2159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9817:48:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2160, + "nodeType": "EmitStatement", + "src": "9812:53:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2164, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9894:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9894:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2166, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9906:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2162, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "9879:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "9879:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9879:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2161, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9871:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9871:43:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2169, + "nodeType": "ExpressionStatement", + "src": "9871:43:5" + } + ] + }, + "documentation": "@notice claim the tokens owed for the msg.sender in the provided challenge\n@param _challengeID the challenge ID to claim tokens for\n@param _salt the salt used to vote in the challenge being withdrawn for", + "id": 2171, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2085, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9037:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2084, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9037:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2087, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 2171, + "src": "9056:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2086, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9056:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9036:31:5" + }, + "payable": false, + "returnParameters": { + "id": 2089, + "nodeType": "ParameterList", + "parameters": [], + "src": "9075:0:5" + }, + "scope": 2490, + "src": "9016:903:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2212, + "nodeType": "Block", + "src": "10474:264:5", + "statements": [ + { + "assignments": [ + 2183 + ], + "declarations": [ + { + "constant": false, + "id": 2183, + "name": "winningTokens", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10480:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2182, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10480:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2188, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2184, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "10501:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2186, + "indexExpression": { + "argumentTypes": null, + "id": 2185, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "10512:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10501:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "10501:38:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10480:59:5" + }, + { + "assignments": [ + 2190 + ], + "declarations": [ + { + "constant": false, + "id": 2190, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10545:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2189, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10545:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2195, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2191, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "10563:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2193, + "indexExpression": { + "argumentTypes": null, + "id": 2192, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "10574:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10563:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "10563:35:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10545:53:5" + }, + { + "assignments": [ + 2197 + ], + "declarations": [ + { + "constant": false, + "id": 2197, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10604:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2196, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10604:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2204, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2200, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2173, + "src": "10650:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2201, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2175, + "src": "10658:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2202, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "10672:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2198, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "10623:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "10623:26:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 2203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10623:55:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10604:74:5" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2205, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2197, + "src": "10692:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 2206, + "name": "rewardPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "10706:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10692:24:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2208, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10691:26:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 2209, + "name": "winningTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2183, + "src": "10720:13:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10691:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2181, + "id": 2211, + "nodeType": "Return", + "src": "10684:49:5" + } + ] + }, + "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The ID of the challenge the voter's reward is being calculated for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", + "id": 2213, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "voterReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2173, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10396:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10396:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2175, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10412:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2174, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10412:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2177, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10431:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2176, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10431:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10395:47:5" + }, + "payable": false, + "returnParameters": { + "id": 2181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2180, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2213, + "src": "10466:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2179, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10466:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10465:6:5" + }, + "scope": 2490, + "src": "10375:363:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2242, + "nodeType": "Block", + "src": "11017:142:5", + "statements": [ + { + "assignments": [ + 2221 + ], + "declarations": [ + { + "constant": false, + "id": 2221, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2243, + "src": "11023:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 2220, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "11023:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2225, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2222, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "11051:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2224, + "indexExpression": { + "argumentTypes": null, + "id": 2223, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2215, + "src": "11061:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11051:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11023:46:5" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2226, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "11084:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2227, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2221, + "src": "11090:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "appExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1547, + "src": "11090:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11084:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2230, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "11108:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2231, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2221, + "src": "11114:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2232, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "11114:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11108:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11084:44:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2235, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2221, + "src": "11132:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11132:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11152:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11132:21:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11084:69:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2240, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11083:71:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2219, + "id": 2241, + "nodeType": "Return", + "src": "11076:78:5" + } + ] + }, + "documentation": "@notice Determines whether a proposal passed its application stage without a challenge\n@param _propID The proposal ID for which to determine whether its application stage passed without a challenge", + "id": 2243, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "canBeSet", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2215, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2243, + "src": "10973:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10973:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10972:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2218, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2243, + "src": "11011:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2217, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11011:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11010:6:5" + }, + "scope": 2490, + "src": "10955:204:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2257, + "nodeType": "Block", + "src": "11383:50:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2250, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "11396:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2252, + "indexExpression": { + "argumentTypes": null, + "id": 2251, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "11406:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11396:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "11396:28:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11427:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11396:32:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2249, + "id": 2256, + "nodeType": "Return", + "src": "11389:39:5" + } + ] + }, + "documentation": "@notice Determines whether a proposal exists for the provided proposal ID\n@param _propID The proposal ID whose existance is to be determined", + "id": 2258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "propExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2245, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2258, + "src": "11339:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11339:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11338:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2248, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2258, + "src": "11377:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2247, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11377:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11376:6:5" + }, + "scope": 2490, + "src": "11319:114:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2295, + "nodeType": "Block", + "src": "11676:225:5", + "statements": [ + { + "assignments": [ + 2266 + ], + "declarations": [ + { + "constant": false, + "id": 2266, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11682:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 2265, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "11682:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2270, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2267, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "11710:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2269, + "indexExpression": { + "argumentTypes": null, + "id": 2268, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2260, + "src": "11720:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11710:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11682:46:5" + }, + { + "assignments": [ + 2272 + ], + "declarations": [ + { + "constant": false, + "id": 2272, + "name": "challenge", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11734:26:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_memory_ptr", + "typeString": "struct Parameterizer.Challenge" + }, + "typeName": { + "contractScope": null, + "id": 2271, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1575, + "src": "11734:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2277, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2273, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "11763:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2276, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2274, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11774:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2275, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11774:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11763:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11734:57:5" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2278, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11806:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11806:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11825:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11806:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2282, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2272, + "src": "11830:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_memory_ptr", + "typeString": "struct Parameterizer.Challenge memory" + } + }, + "id": 2283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 1566, + "src": "11830:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11852:5:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "11830:27:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11806:51:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2289, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11878:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "11878:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2287, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "11861:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollEnded", + "nodeType": "MemberAccess", + "referencedDeclaration": 1187, + "src": "11861:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11861:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11806:89:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2293, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11805:91:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2264, + "id": 2294, + "nodeType": "Return", + "src": "11798:98:5" + } + ] + }, + "documentation": "@notice Determines whether the provided proposal ID has a challenge which can be resolved\n@param _propID The proposal ID whose challenge to inspect", + "id": 2296, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeCanBeResolved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2260, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11632:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2259, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11632:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11631:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2263, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "11670:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2262, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11670:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11669:6:5" + }, + "scope": 2490, + "src": "11600:301:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2331, + "nodeType": "Block", + "src": "12146:293:5", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2305, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12202:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2303, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "12156:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "12156:45:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 2306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12156:59:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12219:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12156:64:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2317, + "nodeType": "IfStatement", + "src": "12152:195:5", + "trueBody": { + "id": 2316, + "nodeType": "Block", + "src": "12222:125:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12306:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2310, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "12310:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2312, + "indexExpression": { + "argumentTypes": null, + "id": 2311, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12321:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12310:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 1568, + "src": "12310:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12306:34:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2302, + "id": 2315, + "nodeType": "Return", + "src": "12299:41:5" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12361:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2319, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "12365:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2321, + "indexExpression": { + "argumentTypes": null, + "id": 2320, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12376:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12365:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2322, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 1568, + "src": "12365:30:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12361:34:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2324, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12360:36:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2325, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "12399:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2327, + "indexExpression": { + "argumentTypes": null, + "id": 2326, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "12410:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12399:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "12399:35:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12360:74:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2302, + "id": 2330, + "nodeType": "Return", + "src": "12353:81:5" + } + ] + }, + "documentation": "@notice Determines the number of tokens to awarded to the winning party in a challenge\n@param _challengeID The challengeID to determine a reward for", + "id": 2332, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeWinnerReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2298, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2332, + "src": "12100:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2297, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12100:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12099:19:5" + }, + "payable": false, + "returnParameters": { + "id": 2302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2301, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2332, + "src": "12140:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2300, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12140:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12139:6:5" + }, + "scope": 2490, + "src": "12069:370:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2348, + "nodeType": "Block", + "src": "12655:60:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2339, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "12668:6:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2346, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2343, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2334, + "src": "12702:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 2341, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "12685:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2342, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12685:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12685:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2340, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "12675:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12675:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12668:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2338, + "id": 2347, + "nodeType": "Return", + "src": "12661:49:5" + } + ] + }, + "documentation": "@notice gets the parameter keyed by the provided name value from the params mapping\n@param _name the key whose value is to be determined", + "id": 2349, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2334, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2349, + "src": "12608:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2333, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12608:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12607:14:5" + }, + "payable": false, + "returnParameters": { + "id": 2338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2337, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2349, + "src": "12643:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2336, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12643:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12642:12:5" + }, + "scope": 2490, + "src": "12595:120:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2365, + "nodeType": "Block", + "src": "13013:62:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2358, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "13026:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2360, + "indexExpression": { + "argumentTypes": null, + "id": 2359, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2351, + "src": "13037:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13026:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 1574, + "src": "13026:36:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2363, + "indexExpression": { + "argumentTypes": null, + "id": 2362, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "13063:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13026:44:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2357, + "id": 2364, + "nodeType": "Return", + "src": "13019:51:5" + } + ] + }, + "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", + "id": 2366, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "tokenClaims", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2351, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 2366, + "src": "12951:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2350, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12951:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2353, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 2366, + "src": "12970:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12970:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12950:35:5" + }, + "payable": false, + "returnParameters": { + "id": 2357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2356, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2366, + "src": "13007:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2355, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13007:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13006:6:5" + }, + "scope": 2490, + "src": "12930:145:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2469, + "nodeType": "Block", + "src": "13403:1025:5", + "statements": [ + { + "assignments": [ + 2372 + ], + "declarations": [ + { + "constant": false, + "id": 2372, + "name": "prop", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13409:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal" + }, + "typeName": { + "contractScope": null, + "id": 2371, + "name": "ParamProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1560, + "src": "13409:13:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage_ptr", + "typeString": "struct Parameterizer.ParamProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2376, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2373, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "13437:9:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$1560_storage_$", + "typeString": "mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)" + } + }, + "id": 2375, + "indexExpression": { + "argumentTypes": null, + "id": 2374, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2368, + "src": "13447:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13437:18:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_storage", + "typeString": "struct Parameterizer.ParamProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13409:46:5" + }, + { + "assignments": [ + 2378 + ], + "declarations": [ + { + "constant": false, + "id": 2378, + "name": "challenge", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13461:27:5", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + }, + "typeName": { + "contractScope": null, + "id": 2377, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1575, + "src": "13461:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2383, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2379, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "13491:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2382, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2380, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13502:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2381, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13502:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13491:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13461:58:5" + }, + { + "assignments": [ + 2385 + ], + "declarations": [ + { + "constant": false, + "id": 2385, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13611:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2384, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13611:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2390, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2387, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13647:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13647:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2386, + "name": "challengeWinnerReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2332, + "src": "13625:21:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13625:39:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13611:53:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2391, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "13671:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "13671:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2396, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13743:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13743:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2394, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "13697:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "13697:45:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 2398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13697:63:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13671:89:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2400, + "nodeType": "ExpressionStatement", + "src": "13671:89:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2401, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "13766:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2403, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 1566, + "src": "13766:18:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13787:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "13766:25:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2406, + "nodeType": "ExpressionStatement", + "src": "13766:25:5" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2409, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13818:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2410, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13818:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2407, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "13802:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isPassed", + "nodeType": "MemberAccess", + "referencedDeclaration": 1138, + "src": "13802:15:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 2411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13802:33:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2467, + "nodeType": "Block", + "src": "14147:277:5", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2446, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2368, + "src": "14232:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2447, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "14249:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2448, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "14249:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2449, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14275:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "14275:20:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2451, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14305:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "14305:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2445, + "name": "_ChallengeSucceeded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1524, + "src": "14203:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14203:133:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2454, + "nodeType": "EmitStatement", + "src": "14198:138:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2458, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1583, + "src": "14368:10:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$1575_storage_$", + "typeString": "mapping(uint256 => struct Parameterizer.Challenge storage ref)" + } + }, + "id": 2461, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2459, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "14379:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "14379:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14368:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage", + "typeString": "struct Parameterizer.Challenge storage ref" + } + }, + "id": 2462, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challenger", + "nodeType": "MemberAccess", + "referencedDeclaration": 1564, + "src": "14368:39:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2463, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "14409:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2456, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "14353:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "14353:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14353:63:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2455, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "14345:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14345:72:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2466, + "nodeType": "ExpressionStatement", + "src": "14345:72:5" + } + ] + }, + "id": 2468, + "nodeType": "IfStatement", + "src": "13798:626:5", + "trueBody": { + "id": 2444, + "nodeType": "Block", + "src": "13837:304:5", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2412, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13873:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "processBy", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "13873:14:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2414, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "13890:3:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13873:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2424, + "nodeType": "IfStatement", + "src": "13869:71:5", + "trueBody": { + "id": 2423, + "nodeType": "Block", + "src": "13895:45:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2417, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13909:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2418, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1553, + "src": "13909:9:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2419, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13920:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2420, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "13920:10:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2416, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2489, + "src": "13905:3:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 2421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13905:26:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2422, + "nodeType": "ExpressionStatement", + "src": "13905:26:5" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2426, + "name": "_propID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2368, + "src": "13978:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2427, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "13995:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1549, + "src": "13995:16:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2429, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14021:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1562, + "src": "14021:20:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2431, + "name": "challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2378, + "src": "14051:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$1575_storage_ptr", + "typeString": "struct Parameterizer.Challenge storage pointer" + } + }, + "id": 2432, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "winningTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1570, + "src": "14051:23:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2425, + "name": "_ChallengeFailed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "13952:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 2433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13952:130:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2434, + "nodeType": "EmitStatement", + "src": "13947:135:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2438, + "name": "prop", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2372, + "src": "14114:4:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ParamProposal_$1560_memory_ptr", + "typeString": "struct Parameterizer.ParamProposal memory" + } + }, + "id": 2439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1555, + "src": "14114:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2440, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "14126:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2436, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "14099:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "14099:14:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14099:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2435, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "14091:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14091:43:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2443, + "nodeType": "ExpressionStatement", + "src": "14091:43:5" + } + ] + } + } + ] + }, + "documentation": "@dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n@param _propID the proposal ID whose challenge is to be resolved.", + "id": 2470, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resolveChallenge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2368, + "name": "_propID", + "nodeType": "VariableDeclaration", + "scope": 2470, + "src": "13378:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2367, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13378:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13377:17:5" + }, + "payable": false, + "returnParameters": { + "id": 2370, + "nodeType": "ParameterList", + "parameters": [], + "src": "13403:0:5" + }, + "scope": 2490, + "src": "13352:1076:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 2488, + "nodeType": "Block", + "src": "14662:62:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2477, + "name": "params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "14668:6:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2484, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2481, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2472, + "src": "14702:5:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 2479, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3689, + "src": "14685:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14685:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14685:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2478, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3696, + "src": "14675:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14675:34:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14668:42:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2485, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2474, + "src": "14713:6:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14668:51:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2487, + "nodeType": "ExpressionStatement", + "src": "14668:51:5" + } + ] + }, + "documentation": "@dev sets the param keted by the provided name to the provided value\n@param _name the name of the param to be set\n@param _value the value to set the param to be set", + "id": 2489, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "set", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2472, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "14627:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2471, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14627:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2474, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 2489, + "src": "14641:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2473, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14641:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14626:27:5" + }, + "payable": false, + "returnParameters": { + "id": 2476, + "nodeType": "ParameterList", + "parameters": [], + "src": "14662:0:5" + }, + "scope": 2490, + "src": "14614:110:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 2491, + "src": "101:14625:5" + } + ], + "src": "0:14727:5" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.369Z" +} \ No newline at end of file diff --git a/build/contracts/Registry.json b/build/contracts/Registry.json new file mode 100644 index 0000000..67a8a39 --- /dev/null +++ b/build/contracts/Registry.json @@ -0,0 +1,30517 @@ +{ + "contractName": "Registry", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "challenges", + "outputs": [ + { + "name": "rewardPool", + "type": "uint256" + }, + { + "name": "challenger", + "type": "address" + }, + { + "name": "resolved", + "type": "bool" + }, + { + "name": "stake", + "type": "uint256" + }, + { + "name": "totalTokens", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "listings", + "outputs": [ + { + "name": "applicationExpiry", + "type": "uint256" + }, + { + "name": "whitelisted", + "type": "bool" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "unstakedDeposit", + "type": "uint256" + }, + { + "name": "challengeID", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "parameterizer", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "voting", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_tokenAddr", + "type": "address" + }, + { + "name": "_plcrAddr", + "type": "address" + }, + { + "name": "_paramsAddr", + "type": "address" + }, + { + "name": "_name", + "type": "string" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "deposit", + "type": "uint256" + }, + { + "indexed": false, + "name": "appEndDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "string" + }, + { + "indexed": true, + "name": "applicant", + "type": "address" + } + ], + "name": "_Application", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "string" + }, + { + "indexed": false, + "name": "commitEndDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "revealEndDate", + "type": "uint256" + }, + { + "indexed": true, + "name": "challenger", + "type": "address" + } + ], + "name": "_Challenge", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "added", + "type": "uint256" + }, + { + "indexed": false, + "name": "newTotal", + "type": "uint256" + }, + { + "indexed": true, + "name": "owner", + "type": "address" + } + ], + "name": "_Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "withdrew", + "type": "uint256" + }, + { + "indexed": false, + "name": "newTotal", + "type": "uint256" + }, + { + "indexed": true, + "name": "owner", + "type": "address" + } + ], + "name": "_Withdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + } + ], + "name": "_ApplicationWhitelisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + } + ], + "name": "_ApplicationRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + } + ], + "name": "_ListingRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + } + ], + "name": "_ListingWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + } + ], + "name": "_TouchAndRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "rewardPool", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalTokens", + "type": "uint256" + } + ], + "name": "_ChallengeFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "listingHash", + "type": "bytes32" + }, + { + "indexed": true, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "rewardPool", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalTokens", + "type": "uint256" + } + ], + "name": "_ChallengeSucceeded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "challengeID", + "type": "uint256" + }, + { + "indexed": false, + "name": "reward", + "type": "uint256" + }, + { + "indexed": true, + "name": "voter", + "type": "address" + } + ], + "name": "_RewardClaimed", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_data", + "type": "string" + } + ], + "name": "apply", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + } + ], + "name": "exit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + }, + { + "name": "_data", + "type": "string" + } + ], + "name": "challenge", + "outputs": [ + { + "name": "challengeID", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + } + ], + "name": "updateStatus", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_challengeID", + "type": "uint256" + }, + { + "name": "_salt", + "type": "uint256" + } + ], + "name": "claimReward", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + }, + { + "name": "_challengeID", + "type": "uint256" + }, + { + "name": "_salt", + "type": "uint256" + } + ], + "name": "voterReward", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + } + ], + "name": "canBeWhitelisted", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + } + ], + "name": "isWhitelisted", + "outputs": [ + { + "name": "whitelisted", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + } + ], + "name": "appWasMade", + "outputs": [ + { + "name": "exists", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + } + ], + "name": "challengeExists", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_listingHash", + "type": "bytes32" + } + ], + "name": "challengeCanBeResolved", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_challengeID", + "type": "uint256" + } + ], + "name": "determineReward", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_challengeID", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "tokenClaims", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b50604051620033da380380620033da8339810180604052810190808051906020019092919080519060200190929190805190602001909291908051820192919050505083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600590805190602001906200012f9291906200013a565b5050505050620001e9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017d57805160ff1916838001178555620001ae565b82800160010185558215620001ae579182015b82811115620001ad57825182559160200191906001019062000190565b5b509050620001bd9190620001c1565b5090565b620001e691905b80821115620001e2576000816000905550600101620001c8565b5090565b90565b6131e180620001f96000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016b57806306fdde03146101a65780630ca36263146102365780631b7bbecb146102675780631de26e16146102b057806343cffefe146102eb578063691a38ab1461034857806377609a411461039157806386bb8f37146103da57806389bb55c7146104115780638a59eb56146104645780638cf8151f146104955780638f1d3776146104de578063a5ba3b1e1461056b578063a7aad3db146105d0578063c18b8db41461063b578063c8187cf1146106cc578063e1e3f9151461070d578063fc0c546a14610764578063fce1ccca146107bb575b600080fd5b34801561012e57600080fd5b506101516004803603810190808035600019169060200190929190505050610812565b604051808215151515815260200191505060405180910390f35b34801561017757600080fd5b506101a4600480360381019080803560001916906020019092919080359060200190929190505050610847565b005b3480156101b257600080fd5b506101bb610b69565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024257600080fd5b506102656004803603810190808035600019169060200190929190505050610c07565b005b34801561027357600080fd5b506102966004803603810190808035600019169060200190929190505050610d17565b604051808215151515815260200191505060405180910390f35b3480156102bc57600080fd5b506102e9600480360381019080803560001916906020019092919080359060200190929190505050610d91565b005b3480156102f757600080fd5b506103326004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050610fc3565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b506103776004803603810190808035600019169060200190929190505050611a51565b604051808215151515815260200191505060405180910390f35b34801561039d57600080fd5b506103c06004803603810190808035600019169060200190929190505050611b0f565b604051808215151515815260200191505060405180910390f35b3480156103e657600080fd5b5061040f6004803603810190808035906020019092919080359060200190929190505050611c1b565b005b34801561041d57600080fd5b50610462600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390505050611fed565b005b34801561047057600080fd5b50610493600480360381019080803560001916906020019092919050505061248f565b005b3480156104a157600080fd5b506104c460048036038101908080356000191690602001909291905050506124d0565b604051808215151515815260200191505060405180910390f35b3480156104ea57600080fd5b50610509600480360381019080803590602001909291905050506124fa565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34801561057757600080fd5b506105b660048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061255d565b604051808215151515815260200191505060405180910390f35b3480156105dc57600080fd5b50610625600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506125c7565b6040518082815260200191505060405180910390f35b34801561064757600080fd5b5061066a6004803603810190808035600019169060200190929190505050612721565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b3480156106d857600080fd5b506106f760048036038101908080359060200190929190505050612784565b6040518082815260200191505060405180910390f35b34801561071957600080fd5b506107226129b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077057600080fd5b506107796129db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107c757600080fd5b506107d0612a01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156108c457600080fd5b806002015482111515156108d757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561099957600080fd5b505af11580156109ad573d6000803e3d6000fd5b505050506040513d60208110156109c357600080fd5b810190808051906020019092919050505082826002015403101515156109e857600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d6020811015610ae957600080fd5b81019080805190602001909291905050501515610b0557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bff5780601f10610bd457610100808354040283529160200191610bff565b820191906000526020600020905b815481529060010190602001808311610be257829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8457600080fd5b610c8d82610812565b1515610c9857600080fd5b600081600301541480610cce57506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610cd957600080fd5b610ce282612a27565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610d89575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e0e57600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b81019080805190602001909291905050501515610f5f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156110ab57600080fd5b505af11580156110bf573d6000803e3d6000fd5b505050506040513d60208110156110d557600080fd5b810190808051906020019092919050505093506110f1896124d0565b8061110a57508460010160009054906101000a900460ff165b151561111557600080fd5b60008560030154148061114b57506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561115657600080fd5b83856002015410156111a55761116b89612a27565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a260009550611a45565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156112a557600080fd5b505af11580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b505050506040513d60208110156113cc57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561149f57600080fd5b505af11580156114b3573d6000803e3d6000fd5b505050506040513d60208110156114c957600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b505050506040513d602081101561156457600080fd5b8101908080519060200190929190505050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b505050506040513d602081101561167257600080fd5b81019080805190602001909291905050506064030281151561169057fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b505050506040513d602081101561189e57600080fd5b810190808051906020019092919050505015156118ba57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561194b57600080fd5b505af115801561195f573d6000803e3d6000fd5b505050506040513d60a081101561197557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b600080600160008460001916600019168152602001908152602001600020600301549050611a7e836124d0565b8015611aa757504260016000856000191660001916815260200190815260200160002060000154105b8015611ab95750611ab783610812565b155b8015611af657506000811480611af557506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611b045760019150611b09565b600091505b50919050565b600080600160008460001916600019168152602001908152602001600020600301549050611b3c83610d17565b1515611b4757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015611bd857600080fd5b505af1158015611bec573d6000803e3d6000fd5b505050506040513d6020811015611c0257600080fd5b8101908080519060200190929190505050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611c9057600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611cc557600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b505050506040513d6020811015611dbc57600080fd5b81019080805190602001909291905050509150611dda3385856125c7565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f5257600080fd5b505af1158015611f66573d6000803e3d6000fd5b505050506040513d6020811015611f7c57600080fd5b81019080805190602001909291905050501515611f9857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611ff885610812565b15151561200457600080fd5b61200d856124d0565b15151561201957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156120db57600080fd5b505af11580156120ef573d6000803e3d6000fd5b505050506040513d602081101561210557600080fd5b8101908080519060200190929190505050841015151561212457600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612293600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b810190808051906020019092919050505042612c8290919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156123c157600080fd5b505af11580156123d5573d6000803e3d6000fd5b505050506040513d60208110156123eb57600080fd5b8101908080519060200190929190505050151561240757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61249881611a51565b156124ab576124a681612c9e565b6124cd565b6124b481611b0f565b156124c7576124c281612d3b565b6124cc565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1580156126ca57600080fd5b505af11580156126de573d6000803e3d6000fd5b505050506040513d60208110156126f457600080fd5b810190808051906020019092919050505090508282820281151561271457fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff1615801561287e5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561284257600080fd5b505af1158015612856573d6000803e3d6000fd5b505050506040513d602081101561286c57600080fd5b81019080805190602001909291905050505b151561288957600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561291c57600080fd5b505af1158015612930573d6000803e3d6000fd5b505050506040513d602081101561294657600080fd5b8101908080519060200190929190505050141561297d576000808381526020019081526020016000206002015460020290506129b0565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff1615612a965783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a2612ac8565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550506000811115612c7c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612c3557600080fd5b505af1158015612c49573d6000803e3d6000fd5b505050506040513d6020811015612c5f57600080fd5b81019080805190602001909291905050501515612c7b57600080fd5b5b50505050565b60008183019050828110151515612c9557fe5b80905092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff161515612d025780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b600080600160008460001916600019168152602001908152602001600020600301549150612d6882612784565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612e2957600080fd5b505af1158015612e3d573d6000803e3d6000fd5b505050506040513d6020811015612e5357600080fd5b810190808051906020019092919050505060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612f0e57600080fd5b505af1158015612f22573d6000803e3d6000fd5b505050506040513d6020811015612f3857600080fd5b810190808051906020019092919050505015612ff757612f5783612c9e565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a36131b0565b61300083612a27565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130fa57600080fd5b505af115801561310e573d6000803e3d6000fd5b505050506040513d602081101561312457600080fd5b8101908080519060200190929190505050151561314057600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a723058208e19e1f1a28ad99ba4dcd3b291c4ef77a840fb7aafab5fdf9a47f06eecdb774b0029", + "deployedBytecode": "0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016b57806306fdde03146101a65780630ca36263146102365780631b7bbecb146102675780631de26e16146102b057806343cffefe146102eb578063691a38ab1461034857806377609a411461039157806386bb8f37146103da57806389bb55c7146104115780638a59eb56146104645780638cf8151f146104955780638f1d3776146104de578063a5ba3b1e1461056b578063a7aad3db146105d0578063c18b8db41461063b578063c8187cf1146106cc578063e1e3f9151461070d578063fc0c546a14610764578063fce1ccca146107bb575b600080fd5b34801561012e57600080fd5b506101516004803603810190808035600019169060200190929190505050610812565b604051808215151515815260200191505060405180910390f35b34801561017757600080fd5b506101a4600480360381019080803560001916906020019092919080359060200190929190505050610847565b005b3480156101b257600080fd5b506101bb610b69565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024257600080fd5b506102656004803603810190808035600019169060200190929190505050610c07565b005b34801561027357600080fd5b506102966004803603810190808035600019169060200190929190505050610d17565b604051808215151515815260200191505060405180910390f35b3480156102bc57600080fd5b506102e9600480360381019080803560001916906020019092919080359060200190929190505050610d91565b005b3480156102f757600080fd5b506103326004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050610fc3565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b506103776004803603810190808035600019169060200190929190505050611a51565b604051808215151515815260200191505060405180910390f35b34801561039d57600080fd5b506103c06004803603810190808035600019169060200190929190505050611b0f565b604051808215151515815260200191505060405180910390f35b3480156103e657600080fd5b5061040f6004803603810190808035906020019092919080359060200190929190505050611c1b565b005b34801561041d57600080fd5b50610462600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390505050611fed565b005b34801561047057600080fd5b50610493600480360381019080803560001916906020019092919050505061248f565b005b3480156104a157600080fd5b506104c460048036038101908080356000191690602001909291905050506124d0565b604051808215151515815260200191505060405180910390f35b3480156104ea57600080fd5b50610509600480360381019080803590602001909291905050506124fa565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34801561057757600080fd5b506105b660048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061255d565b604051808215151515815260200191505060405180910390f35b3480156105dc57600080fd5b50610625600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506125c7565b6040518082815260200191505060405180910390f35b34801561064757600080fd5b5061066a6004803603810190808035600019169060200190929190505050612721565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b3480156106d857600080fd5b506106f760048036038101908080359060200190929190505050612784565b6040518082815260200191505060405180910390f35b34801561071957600080fd5b506107226129b5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077057600080fd5b506107796129db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107c757600080fd5b506107d0612a01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156108c457600080fd5b806002015482111515156108d757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561099957600080fd5b505af11580156109ad573d6000803e3d6000fd5b505050506040513d60208110156109c357600080fd5b810190808051906020019092919050505082826002015403101515156109e857600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d6020811015610ae957600080fd5b81019080805190602001909291905050501515610b0557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bff5780601f10610bd457610100808354040283529160200191610bff565b820191906000526020600020905b815481529060010190602001808311610be257829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8457600080fd5b610c8d82610812565b1515610c9857600080fd5b600081600301541480610cce57506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610cd957600080fd5b610ce282612a27565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610d89575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e0e57600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b81019080805190602001909291905050501515610f5f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156110ab57600080fd5b505af11580156110bf573d6000803e3d6000fd5b505050506040513d60208110156110d557600080fd5b810190808051906020019092919050505093506110f1896124d0565b8061110a57508460010160009054906101000a900460ff165b151561111557600080fd5b60008560030154148061114b57506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561115657600080fd5b83856002015410156111a55761116b89612a27565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a260009550611a45565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156112a557600080fd5b505af11580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b505050506040513d60208110156113cc57600080fd5b8101908080519060200190929190505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561149f57600080fd5b505af11580156114b3573d6000803e3d6000fd5b505050506040513d60208110156114c957600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b505050506040513d602081101561156457600080fd5b8101908080519060200190929190505050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561164857600080fd5b505af115801561165c573d6000803e3d6000fd5b505050506040513d602081101561167257600080fd5b81019080805190602001909291905050506064030281151561169057fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b505050506040513d602081101561189e57600080fd5b810190808051906020019092919050505015156118ba57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b15801561194b57600080fd5b505af115801561195f573d6000803e3d6000fd5b505050506040513d60a081101561197557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080925081935050503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b600080600160008460001916600019168152602001908152602001600020600301549050611a7e836124d0565b8015611aa757504260016000856000191660001916815260200190815260200160002060000154105b8015611ab95750611ab783610812565b155b8015611af657506000811480611af557506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611b045760019150611b09565b600091505b50919050565b600080600160008460001916600019168152602001908152602001600020600301549050611b3c83610d17565b1515611b4757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015611bd857600080fd5b505af1158015611bec573d6000803e3d6000fd5b505050506040513d6020811015611c0257600080fd5b8101908080519060200190929190505050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611c9057600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611cc557600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b158015611d9257600080fd5b505af1158015611da6573d6000803e3d6000fd5b505050506040513d6020811015611dbc57600080fd5b81019080805190602001909291905050509150611dda3385856125c7565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f5257600080fd5b505af1158015611f66573d6000803e3d6000fd5b505050506040513d6020811015611f7c57600080fd5b81019080805190602001909291905050501515611f9857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611ff885610812565b15151561200457600080fd5b61200d856124d0565b15151561201957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156120db57600080fd5b505af11580156120ef573d6000803e3d6000fd5b505050506040513d602081101561210557600080fd5b8101908080519060200190929190505050841015151561212457600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612293600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b810190808051906020019092919050505042612c8290919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156123c157600080fd5b505af11580156123d5573d6000803e3d6000fd5b505050506040513d60208110156123eb57600080fd5b8101908080519060200190929190505050151561240757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61249881611a51565b156124ab576124a681612c9e565b6124cd565b6124b481611b0f565b156124c7576124c281612d3b565b6124cc565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1580156126ca57600080fd5b505af11580156126de573d6000803e3d6000fd5b505050506040513d60208110156126f457600080fd5b810190808051906020019092919050505090508282820281151561271457fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff1615801561287e5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561284257600080fd5b505af1158015612856573d6000803e3d6000fd5b505050506040513d602081101561286c57600080fd5b81019080805190602001909291905050505b151561288957600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561291c57600080fd5b505af1158015612930573d6000803e3d6000fd5b505050506040513d602081101561294657600080fd5b8101908080519060200190929190505050141561297d576000808381526020019081526020016000206002015460020290506129b0565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff1615612a965783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a2612ac8565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550506000811115612c7c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612c3557600080fd5b505af1158015612c49573d6000803e3d6000fd5b505050506040513d6020811015612c5f57600080fd5b81019080805190602001909291905050501515612c7b57600080fd5b5b50505050565b60008183019050828110151515612c9557fe5b80905092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff161515612d025780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b600080600160008460001916600019168152602001908152602001600020600301549150612d6882612784565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612e2957600080fd5b505af1158015612e3d573d6000803e3d6000fd5b505050506040513d6020811015612e5357600080fd5b810190808051906020019092919050505060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015612f0e57600080fd5b505af1158015612f22573d6000803e3d6000fd5b505050506040513d6020811015612f3857600080fd5b810190808051906020019092919050505015612ff757612f5783612c9e565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a36131b0565b61300083612a27565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130fa57600080fd5b505af115801561310e573d6000803e3d6000fd5b505050506040513d602081101561312457600080fd5b8101908080519060200190929190505050151561314057600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a723058208e19e1f1a28ad99ba4dcd3b291c4ef77a840fb7aafab5fdf9a47f06eecdb774b0029", + "sourceMap": "131:17419:6:-;;;2866:253;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:253:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3001:10;2987:5;;:25;;;;;;;;;;;;;;;;;;3038:9;3018:6;;:30;;;;;;;;;;;;;;;;;;3084:11;3054:13;;:42;;;;;;;;;;;;;;;;;;3109:5;3102:4;:12;;;;;;;;;;;;:::i;:::-;;2866:253;;;;131:17419;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "131:17419:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12227:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12227:136:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:501;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5240:501:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2481:18:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2481:18:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5994:434;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5994:434:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12839:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12839:229:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4606:375;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4606:375:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6939:1627;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6939:1627:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11361:704;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11361:704:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13303:233;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13303:233:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9473:912;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9473:912:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:734;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3615:734:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8795:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8795:268:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12523:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12523:138:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2219:44:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14375:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14375:145:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:357;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10841:357:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2323:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2323:43:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13714:446;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13714:446:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2443:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2443:34:6;;;;;;;;;;;;;;;;;;;;;;;;;;;2393:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2393:18:6;;;;;;;;;;;;;;;;;;;;;;;;;;;2415:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2415:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;12227:136;12293:16;12324:8;:22;12333:12;12324:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;12317:41;;12227:136;;;:::o;5240:501::-;5309:23;5335:8;:22;5344:12;5335:22;;;;;;;;;;;;;;;;;5309:48;;5389:10;5372:27;;:7;:13;;;;;;;;;;;;:27;;;5364:36;;;;;;;;5425:7;:23;;;5414:7;:34;;5406:43;;;;;;;;5500:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5500:31:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5500:31:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5500:31:6;;;;;;;;;;;;;;;;5489:7;5463;:23;;;:33;:68;;5455:77;;;;;;;;5566:7;5539;:23;;;:34;;;;;;;;;;;5587:5;;;;;;;;;;;:14;;;5602:10;5614:7;5587:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5587:35:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5587:35:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5587:35:6;;;;;;;;;;;;;;;;5579:44;;;;;;;;5720:10;5635:101;;5654:12;5635:101;;;;5674:7;5689;:23;;;5635:101;;;;;;;;;;;;;;;;;;;;;;;;5240:501;;;:::o;2481:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5994:434::-;6045:23;6071:8;:22;6080:12;6071:22;;;;;;;;;;;;;;;;;6045:48;;6122:7;:13;;;;;;;;;;;;6108:27;;:10;:27;;;6100:36;;;;;;;;6150:27;6164:12;6150:13;:27::i;:::-;6142:36;;;;;;;;6260:1;6237:7;:19;;;:24;:68;;;;6265:10;:31;6276:7;:19;;;6265:31;;;;;;;;;;;:40;;;;;;;;;;;;6237:68;6229:77;;;;;;;;6355:26;6368:12;6355;:26::i;:::-;6410:12;6392:31;;;;;;;;;;;;;5994:434;;:::o;12839:229::-;12907:4;12919:16;12938:8;:22;12947:12;12938:22;;;;;;;;;;;;;;;;;:34;;;12919:53;;13024:1;12987:8;:22;12996:12;12987:22;;;;;;;;;;;;;;;;;:34;;;:38;:75;;;;;13030:10;:23;13041:11;13030:23;;;;;;;;;;;:32;;;;;;;;;;;;13029:33;12987:75;12979:84;;12839:229;;;;:::o;4606:375::-;4674:23;4700:8;:22;4709:12;4700:22;;;;;;;;;;;;;;;;;4674:48;;4754:10;4737:27;;:7;:13;;;;;;;;;;;;:27;;;4729:36;;;;;;;;4799:7;4772;:23;;;:34;;;;;;;;;;;4820:5;;;;;;;;;;;:18;;;4839:10;4851:4;4857:7;4820:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4820:45:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4820:45:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4820:45:6;;;;;;;;;;;;;;;;4812:54;;;;;;;;4960:10;4878:98;;4894:12;4878:98;;;;4914:7;4929;:23;;;4878:98;;;;;;;;;;;;;;;;;;;;;;;;4606:375;;;:::o;6939:1627::-;7012:16;7036:23;7090:15;7614:11;8302:18;8326;7062:8;:22;7071:12;7062:22;;;;;;;;;;;;;;;;;7036:48;;7108:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7108:31:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7108:31:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7108:31:6;;;;;;;;;;;;;;;;7090:49;;7220:24;7231:12;7220:10;:24::i;:::-;:47;;;;7248:7;:19;;;;;;;;;;;;7220:47;7212:56;;;;;;;;7340:1;7317:7;:19;;;:24;:68;;;;7345:10;:31;7356:7;:19;;;7345:31;;;;;;;;;;;:40;;;;;;;;;;;;7317:68;7309:77;;;;;;;;7423:10;7397:7;:23;;;:36;7393:196;;;7497:26;7510:12;7497;:26::i;:::-;7553:12;7536:30;;;;;;;;;;;;;7581:1;7574:8;;;;7393:196;7628:6;;;;;;;;;;;:16;;;7652:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7652:31:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7652:31:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7652:31:6;;;;;;;;;;;;;;;;7691:13;;;;;;;;;;;:17;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7691:35:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7691:35:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7691:35:6;;;;;;;;;;;;;;;;7734:13;;;;;;;;;;;:17;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7734:35:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7734:35:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7734:35:6;;;;;;;;;;;;;;;;7628:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7628:147:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7628:147:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7628:147:6;;;;;;;;;;;;;;;;7614:161;;7803:202;;;;;;;;;7925:3;7911:10;7871:13;;;;;;;;;;;:17;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7871:36:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7871:36:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7871:36:6;;;;;;;;;;;;;;;;7865:3;:42;7864:57;7863:65;;;;;;;;7803:202;;;;7833:10;7803:202;;;;;;7971:5;7803:202;;;;;;7943:10;7803:202;;;;7997:1;7803:202;;;7782:10;:18;7793:6;7782:18;;;;;;;;;;;:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8092:6;8070:7;:19;;:28;;;;8185:10;8158:7;:23;;;:37;;;;;;;;;;;8246:5;;;;;;;;;;;:18;;;8265:10;8277:4;8283:10;8246:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8246:48:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8246:48:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8246:48:6;;;;;;;;;;;;;;;;8238:57;;;;;;;;8384:6;;;;;;;;;;;:14;;;8399:6;8384:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8384:22:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8384:22:6;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8384:22:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8350:56;;;;;;;;;;;;;;8525:10;8418:123;;8436:12;8418:123;;;;8456:6;8470:5;;8483:13;8504;8418:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8555:6;8548:13;;6939:1627;;;;;;;;;;;:::o;11361:704::-;11430:4;11442:16;11461:8;:22;11470:12;11461:22;;;;;;;;;;;;;;;;;:34;;;11442:53;;11757:24;11768:12;11757:10;:24::i;:::-;:117;;;;;11871:3;11828:8;:22;11837:12;11828:22;;;;;;;;;;;;;;;;;:40;;;:46;11757:117;:192;;;;;11922:27;11936:12;11922:13;:27::i;:::-;11921:28;11757:192;:264;;;;;11975:1;11960:11;:16;:60;;;;12016:4;11980:40;;:10;:23;11991:11;11980:23;;;;;;;;;;;:32;;;;;;;;;;;;:40;;;11960:60;11757:264;11709:333;;;12036:4;12029:11;;;;11709:333;12055:5;12048:12;;11361:704;;;;;:::o;13303:233::-;13378:4;13390:16;13409:8;:22;13418:12;13409:22;;;;;;;;;;;;;;;;;:34;;;13390:53;;13458:29;13474:12;13458:15;:29::i;:::-;13450:38;;;;;;;;13502:6;;;;;;;;;;;:16;;;13519:11;13502:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13502:29:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13502:29:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13502:29:6;;;;;;;;;;;;;;;;13495:36;;13303:233;;;;:::o;9473:912::-;9765:16;9849:11;9696:5;9644:57;;:10;:24;9655:12;9644:24;;;;;;;;;;;:36;;:48;9681:10;9644:48;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;9636:66;;;;;;;;9753:4;9716:41;;:10;:24;9727:12;9716:24;;;;;;;;;;;:33;;;;;;;;;;;;:41;;;9708:50;;;;;;;;9784:6;;;;;;;;;;;:26;;;9811:10;9823:12;9837:5;9784:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9784:59:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9784:59:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9784:59:6;;;;;;;;;;;;;;;;9765:78;;9863:44;9875:10;9887:12;9901:5;9863:11;:44::i;:::-;9849:58;;10097:11;10057:10;:24;10068:12;10057:24;;;;;;;;;;;:36;;;:51;;;;;;;;;;;10153:6;10114:10;:24;10125:12;10114:24;;;;;;;;;;;:35;;;:45;;;;;;;;;;;10266:4;10215:10;:24;10226:12;10215:24;;;;;;;;;;;:36;;:48;10252:10;10215:48;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;10285:5;;;;;;;;;;;:14;;;10300:10;10312:6;10285:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10285:34:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10285:34:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10285:34:6;;;;;;;;;;;;;;;;10277:43;;;;;;;;10369:10;10332:48;;10347:12;10332:48;10361:6;10332:48;;;;;;;;;;;;;;;;;;9473:912;;;;:::o;3615:734::-;3854:23;3704:27;3718:12;3704:13;:27::i;:::-;3703:28;3695:37;;;;;;;;3747:24;3758:12;3747:10;:24::i;:::-;3746:25;3738:34;;;;;;;;3797:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3797:31:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3797:31:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3797:31:6;;;;;;;;;;;;;;;;3786:7;:42;;3778:51;;;;;;;;3880:8;:22;3889:12;3880:22;;;;;;;;;;;;;;;;;3854:48;;3924:10;3908:7;:13;;;:26;;;;;;;;;;;;;;;;;;4002:55;4022:13;;;;;;;;;;;:17;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4022:34:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4022:34:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4022:34:6;;;;;;;;;;;;;;;;4002:15;:19;;:55;;;;:::i;:::-;3974:7;:25;;:83;;;;4089:7;4063;:23;;:33;;;;4166:5;;;;;;;;;;;:18;;;4185:7;:13;;;;;;;;;;;;4200:4;4206:7;4166:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4166:48:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4166:48:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4166:48:6;;;;;;;;;;;;;;;;4158:57;;;;;;;;4328:10;4227:117;;4247:12;4227:117;;;;4267:7;4282;:25;;;4315:5;;4227:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:734;;;;;:::o;8795:268::-;8856:30;8873:12;8856:16;:30::i;:::-;8852:207;;;8896:34;8917:12;8896:20;:34::i;:::-;8852:207;;;8947:36;8970:12;8947:22;:36::i;:::-;8943:116;;;8993:30;9010:12;8993:16;:30::i;:::-;8943:116;;;9044:8;;;8943:116;8852:207;8795:268;:::o;12523:138::-;12586:11;12655:1;12612:8;:22;12621:12;12612:22;;;;;;;;;;;;;;;;;:40;;;:44;12605:51;;12523:138;;;:::o;2219:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14375:145::-;14452:4;14471:10;:24;14482:12;14471:24;;;;;;;;;;;:36;;:44;14508:6;14471:44;;;;;;;;;;;;;;;;;;;;;;;;;14464:51;;14375:145;;;;:::o;10841:357::-;10932:4;10946:16;11007:15;11066:16;10965:10;:24;10976:12;10965:24;;;;;;;;;;;:36;;;10946:55;;11025:10;:24;11036:12;11025:24;;;;;;;;;;;:35;;;11007:53;;11085:6;;;;;;;;;;;:26;;;11112:6;11120:12;11134:5;11085:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11085:55:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11085:55:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11085:55:6;;;;;;;;;;;;;;;;11066:74;;11182:11;11168:10;11154:11;:24;11153:40;;;;;;;;11146:47;;10841:357;;;;;;;;:::o;2323:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13714:446::-;13779:4;13800:10;:24;13811:12;13800:24;;;;;;;;;;;:33;;;;;;;;;;;;13799:34;:68;;;;;13837:6;;;;;;;;;;;:16;;;13854:12;13837:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13837:30:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13837:30:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13837:30:6;;;;;;;;;;;;;;;;13799:68;13791:77;;;;;;;;14009:1;13946:6;;;;;;;;;;;:45;;;13992:12;13946:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13946:59:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13946:59:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13946:59:6;;;;;;;;;;;;;;;;:64;13942:126;;;14031:10;:24;14042:12;14031:24;;;;;;;;;;;:30;;;14027:1;:34;14020:41;;;;13942:126;14120:10;:24;14131:12;14120:24;;;;;;;;;;;:35;;;14086:10;:24;14097:12;14086:24;;;;;;;;;;;:30;;;14082:1;:34;14081:74;14074:81;;13714:446;;;;:::o;2443:34::-;;;;;;;;;;;;;:::o;2393:18::-;;;;;;;;;;;;;:::o;2415:24::-;;;;;;;;;;;;;:::o;16907:641::-;16965:23;17277:13;17312:20;16991:8;:22;17000:12;16991:22;;;;;;;;;;;;;;;;;16965:48;;17099:7;:19;;;;;;;;;;;;17095:133;;;17149:12;17133:29;;;;;;;;;;;;;17095:133;;;17208:12;17188:33;;;;;;;;;;;;;17095:133;17293:7;:13;;;;;;;;;;;;17277:29;;17335:7;:23;;;17312:46;;17371:8;:22;17380:12;17371:22;;;;;;;;;;;;;;;;;;17364:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17479:1;17461:15;:19;17457:87;;;17498:5;;;;;;;;;;;:14;;;17513:5;17520:15;17498:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17498:38:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17498:38:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17498:38:6;;;;;;;;;;;;;;;;17490:47;;;;;;;;17457:87;16907:641;;;;:::o;1213:123:7:-;1271:9;1296:1;1292;:5;1288:9;;1315:1;1310;:6;;1303:14;;;;;;1330:1;1323:8;;1213:123;;;;:::o;16542:203:6:-;16613:8;:22;16622:12;16613:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;16612:35;16608:86;;;16679:12;16655:37;;;;;;;;;;;;;16608:86;16736:4;16699:8;:22;16708:12;16699:22;;;;;;;;;;;;;;;;;:34;;;:41;;;;;;;;;;;;;;;;;;16542:203;:::o;14844:1364::-;14906:16;15080:11;14925:8;:22;14934:12;14925:22;;;;;;;;;;;;;;;;;:34;;;14906:53;;15094:28;15110:11;15094:15;:28::i;:::-;15080:42;;15210:4;15175:10;:23;15186:11;15175:23;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;15346:6;;;;;;;;;;;:45;;;15392:11;15346:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15346:58:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15346:58:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15346:58:6;;;;;;;;;;;;;;;;15308:10;:23;15319:11;15308:23;;;;;;;;;;;:35;;:96;;;;15445:6;;;;;;;;;;;:15;;;15461:11;15445:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15445:28:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15445:28:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15445:28:6;;;;;;;;;;;;;;;;15441:763;;;15483:34;15504:12;15483:20;:34::i;:::-;15634:6;15592:8;:22;15601:12;15592:22;;;;;;;;;;;;;;;;;:38;;;:48;;;;;;;;;;;15702:11;15680:12;15654:156;;;;15723:10;:23;15734:11;15723:23;;;;;;;;;;;:34;;;15767:10;:23;15778:11;15767:23;;;;;;;;;;;:35;;;15654:156;;;;;;;;;;;;;;;;;;;;;;;;15441:763;;;15876:26;15889:12;15876;:26::i;:::-;15965:5;;;;;;;;;;;:14;;;15980:10;:23;15991:11;15980:23;;;;;;;;;;;:34;;;;;;;;;;;;16016:6;15965:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15965:58:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15965:58:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15965:58:6;;;;;;;;;;;;;;;;15957:67;;;;;;;;16089:11;16067:12;16038:159;;;;16110:10;:23;16121:11;16110:23;;;;;;;;;;;:34;;;16154:10;:23;16165:11;16154:23;;;;;;;;;;;:35;;;16038:159;;;;;;;;;;;;;;;;;;;;;;;;15441:763;14844:1364;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"./ERC20.sol\";\nimport \"./Parameterizer.sol\";\nimport \"./PLCRVoting.sol\";\nimport \"./SafeMath.sol\";\n\n\ncontract Registry {\n\n // ------\n // EVENTS\n // ------\n\n event _Application(bytes32 indexed listingHash, uint deposit, uint appEndDate, string data, address indexed applicant);\n event _Challenge(bytes32 indexed listingHash, uint challengeID, string data, uint commitEndDate, uint revealEndDate, address indexed challenger);\n event _Deposit(bytes32 indexed listingHash, uint added, uint newTotal, address indexed owner);\n event _Withdrawal(bytes32 indexed listingHash, uint withdrew, uint newTotal, address indexed owner);\n event _ApplicationWhitelisted(bytes32 indexed listingHash);\n event _ApplicationRemoved(bytes32 indexed listingHash);\n event _ListingRemoved(bytes32 indexed listingHash);\n event _ListingWithdrawn(bytes32 indexed listingHash);\n event _TouchAndRemoved(bytes32 indexed listingHash);\n event _ChallengeFailed(bytes32 indexed listingHash, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _ChallengeSucceeded(bytes32 indexed listingHash, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _RewardClaimed(uint indexed challengeID, uint reward, address indexed voter);\n\n using SafeMath for uint;\n\n struct Listing {\n uint applicationExpiry; // Expiration date of apply stage\n bool whitelisted; // Indicates registry status\n address owner; // Owner of Listing\n uint unstakedDeposit; // Number of tokens in the listing not locked in a challenge\n uint challengeID; // Corresponds to a PollID in PLCRVoting\n }\n\n struct Challenge {\n uint rewardPool; // (remaining) Pool of tokens to be distributed to winning voters\n address challenger; // Owner of Challenge\n bool resolved; // Indication of if challenge is resolved\n uint stake; // Number of tokens at stake for either party during challenge\n uint totalTokens; // (remaining) Number of tokens used in voting by the winning side\n mapping(address => bool) tokenClaims; // Indicates whether a voter has claimed a reward yet\n }\n\n // Maps challengeIDs to associated challenge data\n mapping(uint => Challenge) public challenges;\n\n // Maps listingHashes to associated listingHash data\n mapping(bytes32 => Listing) public listings;\n\n // Global Variables\n ERC20 public token;\n PLCRVoting public voting;\n Parameterizer public parameterizer;\n string public name;\n\n // ------------\n // CONSTRUCTOR:\n // ------------\n\n /**\n @dev Contructor Sets the addresses for token, voting, and parameterizer\n @param _tokenAddr Address of the TCR's intrinsic ERC20 token\n @param _plcrAddr Address of a PLCR voting contract for the provided token\n @param _paramsAddr Address of a Parameterizer contract\n */\n constructor(\n address _tokenAddr,\n address _plcrAddr,\n address _paramsAddr,\n string _name\n ) public\n {\n token = ERC20(_tokenAddr);\n voting = PLCRVoting(_plcrAddr);\n parameterizer = Parameterizer(_paramsAddr);\n name = _name;\n }\n\n // --------------------\n // PUBLISHER INTERFACE:\n // --------------------\n\n /**\n @dev Allows a user to start an application. Takes tokens from user and sets\n apply stage end time.\n @param _listingHash The hash of a potential listing a user is applying to add to the registry\n @param _amount The number of ERC20 tokens a user is willing to potentially stake\n @param _data Extra data relevant to the application. Think IPFS hashes.\n */\n function apply(bytes32 _listingHash, uint _amount, string _data) external {\n require(!isWhitelisted(_listingHash));\n require(!appWasMade(_listingHash));\n require(_amount >= parameterizer.get(\"minDeposit\"));\n\n // Sets owner\n Listing storage listing = listings[_listingHash];\n listing.owner = msg.sender;\n\n // Sets apply stage end time\n listing.applicationExpiry = block.timestamp.add(parameterizer.get(\"applyStageLen\"));\n listing.unstakedDeposit = _amount;\n\n // Transfers tokens from user to Registry contract\n require(token.transferFrom(listing.owner, this, _amount));\n\n emit _Application(\n _listingHash,\n _amount,\n listing.applicationExpiry,\n _data,\n msg.sender\n );\n }\n\n /**\n @dev Allows the owner of a listingHash to increase their unstaked deposit.\n @param _listingHash A listingHash msg.sender is the owner of\n @param _amount The number of ERC20 tokens to increase a user's unstaked deposit\n */\n function deposit(bytes32 _listingHash, uint _amount) external {\n Listing storage listing = listings[_listingHash];\n\n require(listing.owner == msg.sender);\n\n listing.unstakedDeposit += _amount;\n require(token.transferFrom(msg.sender, this, _amount));\n\n emit _Deposit(\n _listingHash,\n _amount,\n listing.unstakedDeposit,\n msg.sender\n );\n }\n\n /**\n @dev Allows the owner of a listingHash to decrease their unstaked deposit.\n @param _listingHash A listingHash msg.sender is the owner of.\n @param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.\n */\n function withdraw(bytes32 _listingHash, uint _amount) external {\n Listing storage listing = listings[_listingHash];\n\n require(listing.owner == msg.sender);\n require(_amount <= listing.unstakedDeposit);\n require(listing.unstakedDeposit - _amount >= parameterizer.get(\"minDeposit\"));\n\n listing.unstakedDeposit -= _amount;\n require(token.transfer(msg.sender, _amount));\n\n emit _Withdrawal(\n _listingHash,\n _amount,\n listing.unstakedDeposit,\n msg.sender\n );\n }\n\n /**\n @dev Allows the owner of a listingHash to remove the listingHash from the whitelist\n Returns all tokens to the owner of the listingHash\n @param _listingHash A listingHash msg.sender is the owner of.\n */\n function exit(bytes32 _listingHash) external {\n Listing storage listing = listings[_listingHash];\n\n require(msg.sender == listing.owner);\n require(isWhitelisted(_listingHash));\n\n // Cannot exit during ongoing challenge\n require(listing.challengeID == 0 || challenges[listing.challengeID].resolved);\n\n // Remove listingHash & return tokens\n resetListing(_listingHash);\n emit _ListingWithdrawn(_listingHash);\n }\n\n // -----------------------\n // TOKEN HOLDER INTERFACE:\n // -----------------------\n\n /**\n @dev Starts a poll for a listingHash which is either in the apply stage or\n already in the whitelist. Tokens are taken from the challenger and the\n applicant's deposits are locked.\n @param _listingHash The listingHash being challenged, whether listed or in application\n @param _data Extra data relevant to the challenge. Think IPFS hashes.\n */\n function challenge(bytes32 _listingHash, string _data) external returns (uint challengeID) {\n Listing storage listing = listings[_listingHash];\n uint minDeposit = parameterizer.get(\"minDeposit\");\n\n // Listing must be in apply stage or already on the whitelist\n require(appWasMade(_listingHash) || listing.whitelisted);\n // Prevent multiple challenges\n require(listing.challengeID == 0 || challenges[listing.challengeID].resolved);\n\n if (listing.unstakedDeposit < minDeposit) {\n // Not enough tokens, listingHash auto-delisted\n resetListing(_listingHash);\n emit _TouchAndRemoved(_listingHash);\n return 0;\n }\n\n // Starts poll\n uint pollID = voting.startPoll(\n parameterizer.get(\"voteQuorum\"),\n parameterizer.get(\"commitStageLen\"),\n parameterizer.get(\"revealStageLen\")\n );\n\n challenges[pollID] = Challenge({\n challenger: msg.sender,\n rewardPool: ((100 - parameterizer.get(\"dispensationPct\")) * minDeposit) / 100,\n stake: minDeposit,\n resolved: false,\n totalTokens: 0\n });\n\n // Updates listingHash to store most recent challenge\n listing.challengeID = pollID;\n\n // Locks tokens for listingHash during challenge\n listing.unstakedDeposit -= minDeposit;\n\n // Takes tokens from challenger\n require(token.transferFrom(msg.sender, this, minDeposit));\n\n uint commitEndDate;\n uint revealEndDate;\n (commitEndDate, revealEndDate,) = voting.pollMap(pollID);\n\n emit _Challenge(\n _listingHash,\n pollID,\n _data,\n commitEndDate,\n revealEndDate,\n msg.sender\n );\n\n return pollID;\n }\n\n /**\n @dev Updates a listingHash's status from 'application' to 'listing' or resolves\n a challenge if one exists.\n @param _listingHash The listingHash whose status is being updated\n */\n function updateStatus(bytes32 _listingHash) public {\n if (canBeWhitelisted(_listingHash)) {\n whitelistApplication(_listingHash);\n } else if (challengeCanBeResolved(_listingHash)) {\n resolveChallenge(_listingHash);\n } else {\n revert();\n }\n }\n\n // ----------------\n // TOKEN FUNCTIONS:\n // ----------------\n\n /**\n @dev Called by a voter to claim their reward for each completed vote. Someone\n must call updateStatus() before this can be called.\n @param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n @param _salt The salt of a voter's commit hash in the given poll\n */\n function claimReward(uint _challengeID, uint _salt) public {\n // Ensures the voter has not already claimed tokens and challenge results have been processed\n require(challenges[_challengeID].tokenClaims[msg.sender] == false);\n require(challenges[_challengeID].resolved == true);\n\n uint voterTokens = voting.getNumPassingTokens(msg.sender, _challengeID, _salt);\n uint reward = voterReward(msg.sender, _challengeID, _salt);\n\n // Subtracts the voter's information to preserve the participation ratios\n // of other voters compared to the remaining pool of rewards\n challenges[_challengeID].totalTokens -= voterTokens;\n challenges[_challengeID].rewardPool -= reward;\n\n // Ensures a voter cannot claim tokens again\n challenges[_challengeID].tokenClaims[msg.sender] = true;\n\n require(token.transfer(msg.sender, reward));\n\n emit _RewardClaimed(_challengeID, reward, msg.sender);\n }\n\n // --------\n // GETTERS:\n // --------\n\n /**\n @dev Calculates the provided voter's token reward for the given poll.\n @param _voter The address of the voter whose reward balance is to be returned\n @param _challengeID The pollID of the challenge a reward balance is being queried for\n @param _salt The salt of the voter's commit hash in the given poll\n @return The uint indicating the voter's reward\n */\n function voterReward(address _voter, uint _challengeID, uint _salt)\n public view returns (uint)\n {\n uint totalTokens = challenges[_challengeID].totalTokens;\n uint rewardPool = challenges[_challengeID].rewardPool;\n uint voterTokens = voting.getNumPassingTokens(_voter, _challengeID, _salt);\n return (voterTokens * rewardPool) / totalTokens;\n }\n\n /**\n @dev Determines whether the given listingHash be whitelisted.\n @param _listingHash The listingHash whose status is to be examined\n */\n function canBeWhitelisted(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n // Ensures that the application was made,\n // the application period has ended,\n // the listingHash can be whitelisted,\n // and either: the challengeID == 0, or the challenge has been resolved.\n if (\n /* solium-disable-next-line */\n appWasMade(_listingHash) &&\n /* solium-disable-next-line */\n listings[_listingHash].applicationExpiry < now &&\n /* solium-disable-next-line */\n !isWhitelisted(_listingHash) &&\n (challengeID == 0 || challenges[challengeID].resolved == true)\n ) {return true;}\n\n return false;\n }\n\n /**\n @dev Returns true if the provided listingHash is whitelisted\n @param _listingHash The listingHash whose status is to be examined\n */\n function isWhitelisted(bytes32 _listingHash) view public returns (bool whitelisted) {\n return listings[_listingHash].whitelisted;\n }\n\n /**\n @dev Returns true if apply was called for this listingHash\n @param _listingHash The listingHash whose status is to be examined\n */\n function appWasMade(bytes32 _listingHash) view public returns (bool exists) {\n return listings[_listingHash].applicationExpiry > 0;\n }\n\n /**\n @dev Returns true if the application/listingHash has an unresolved challenge\n @param _listingHash The listingHash whose status is to be examined\n */\n function challengeExists(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n return (listings[_listingHash].challengeID > 0 && !challenges[challengeID].resolved);\n }\n\n /**\n @dev Determines whether voting has concluded in a challenge for a given\n listingHash. Throws if no challenge exists.\n @param _listingHash A listingHash with an unresolved challenge\n */\n function challengeCanBeResolved(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n require(challengeExists(_listingHash));\n\n return voting.pollEnded(challengeID);\n }\n\n /**\n @dev Determines the number of tokens awarded to the winning party in a challenge.\n @param _challengeID The challengeID to determine a reward for\n */\n function determineReward(uint _challengeID) public view returns (uint) {\n require(!challenges[_challengeID].resolved && voting.pollEnded(_challengeID));\n\n // Edge case, nobody voted, give all tokens to the challenger.\n if (voting.getTotalNumberOfTokensForWinningOption(_challengeID) == 0) {\n return 2 * challenges[_challengeID].stake;\n }\n\n return (2 * challenges[_challengeID].stake) - challenges[_challengeID].rewardPool;\n }\n\n /**\n @dev Getter for Challenge tokenClaims mappings\n @param _challengeID The challengeID to query\n @param _voter The voter whose claim status to query for the provided challengeID\n */\n function tokenClaims(uint _challengeID, address _voter) public view returns (bool) {\n return challenges[_challengeID].tokenClaims[_voter];\n }\n\n // ----------------\n // PRIVATE FUNCTIONS:\n // ----------------\n\n /**\n @dev Determines the winner in a challenge. Rewards the winner tokens and\n either whitelists or de-whitelists the listingHash.\n @param _listingHash A listingHash with a challenge that is to be resolved\n */\n function resolveChallenge(bytes32 _listingHash) private {\n uint challengeID = listings[_listingHash].challengeID;\n\n // Calculates the winner's reward,\n // which is: (winner's full stake) + (dispensationPct * loser's stake)\n uint reward = determineReward(challengeID);\n\n // Sets flag on challenge being processed\n challenges[challengeID].resolved = true;\n\n // Stores the total tokens used for voting by the winning side for reward purposes\n challenges[challengeID].totalTokens = voting.getTotalNumberOfTokensForWinningOption(challengeID);\n\n // Case: challenge failed\n if (voting.isPassed(challengeID)) {\n whitelistApplication(_listingHash);\n // Unlock stake so that it can be retrieved by the applicant\n listings[_listingHash].unstakedDeposit += reward;\n\n emit _ChallengeFailed(\n _listingHash,\n challengeID,\n challenges[challengeID].rewardPool,\n challenges[challengeID].totalTokens\n );\n } else { // Case: challenge succeeded or nobody voted\n resetListing(_listingHash);\n // Transfer the reward to the challenger\n require(token.transfer(challenges[challengeID].challenger, reward));\n\n emit _ChallengeSucceeded(\n _listingHash,\n challengeID,\n challenges[challengeID].rewardPool,\n challenges[challengeID].totalTokens\n );\n }\n }\n\n /**\n @dev Called by updateStatus() if the applicationExpiry date passed without a\n challenge being made. Called by resolveChallenge() if an\n application/listing beat a challenge.\n @param _listingHash The listingHash of an application/listingHash to be whitelisted\n */\n function whitelistApplication(bytes32 _listingHash) private {\n if (!listings[_listingHash].whitelisted) {emit _ApplicationWhitelisted(_listingHash);}\n listings[_listingHash].whitelisted = true;\n }\n\n /**\n @dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n @param _listingHash The listing hash to delete\n */\n function resetListing(bytes32 _listingHash) private {\n Listing storage listing = listings[_listingHash];\n\n // Emit events before deleting listing to check whether is whitelisted\n if (listing.whitelisted) {\n emit _ListingRemoved(_listingHash);\n } else {\n emit _ApplicationRemoved(_listingHash);\n }\n\n // Deleting listing to prevent reentry\n address owner = listing.owner;\n uint unstakedDeposit = listing.unstakedDeposit;\n delete listings[_listingHash];\n\n // Transfers any remaining balance back to the owner\n if (unstakedDeposit > 0) {\n require(token.transfer(owner, unstakedDeposit));\n }\n }\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/Registry.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/Registry.sol", + "exportedSymbols": { + "Registry": [ + 3593 + ] + }, + "id": 3594, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2492, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 2493, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 409, + "src": "25:21:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/Parameterizer.sol", + "file": "./Parameterizer.sol", + "id": 2494, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 2491, + "src": "47:29:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/PLCRVoting.sol", + "file": "./PLCRVoting.sol", + "id": 2495, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 1472, + "src": "77:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 2496, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 3688, + "src": "104:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3593, + "linearizedBaseContracts": [ + 3593 + ], + "name": "Registry", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 2508, + "name": "_Application", + "nodeType": "EventDefinition", + "parameters": { + "id": 2507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2498, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "210:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2497, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "210:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2500, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "239:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2499, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "239:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2502, + "indexed": false, + "name": "appEndDate", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "253:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2501, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "253:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2504, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "270:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2503, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "270:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2506, + "indexed": true, + "name": "applicant", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "283:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "283:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "209:100:6" + }, + "src": "191:119:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2522, + "name": "_Challenge", + "nodeType": "EventDefinition", + "parameters": { + "id": 2521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2510, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "330:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2509, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "330:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2512, + "indexed": false, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "359:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2511, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "359:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2514, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "377:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2513, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "377:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2516, + "indexed": false, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "390:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2515, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "390:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2518, + "indexed": false, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "410:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2517, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "410:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2520, + "indexed": true, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "430:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "430:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "329:128:6" + }, + "src": "313:145:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2532, + "name": "_Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 2531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2524, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "476:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2523, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "476:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2526, + "indexed": false, + "name": "added", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "505:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2525, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "505:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2528, + "indexed": false, + "name": "newTotal", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "517:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "517:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2530, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "532:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2529, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "532:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "475:79:6" + }, + "src": "461:94:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2542, + "name": "_Withdrawal", + "nodeType": "EventDefinition", + "parameters": { + "id": 2541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2534, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "576:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2533, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "576:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2536, + "indexed": false, + "name": "withdrew", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "605:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2535, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "605:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2538, + "indexed": false, + "name": "newTotal", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "620:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2537, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "620:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2540, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "635:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "635:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "575:82:6" + }, + "src": "558:100:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2546, + "name": "_ApplicationWhitelisted", + "nodeType": "EventDefinition", + "parameters": { + "id": 2545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2544, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2546, + "src": "691:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2543, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "691:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "690:29:6" + }, + "src": "661:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2550, + "name": "_ApplicationRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 2549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2548, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "749:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "749:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:29:6" + }, + "src": "723:55:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2554, + "name": "_ListingRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 2553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2552, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2554, + "src": "803:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2551, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "803:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "802:29:6" + }, + "src": "781:51:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2558, + "name": "_ListingWithdrawn", + "nodeType": "EventDefinition", + "parameters": { + "id": 2557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2556, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2558, + "src": "859:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2555, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "859:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "858:29:6" + }, + "src": "835:53:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2562, + "name": "_TouchAndRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 2561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2560, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "914:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2559, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "914:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "913:29:6" + }, + "src": "891:52:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2572, + "name": "_ChallengeFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2564, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "969:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2563, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "969:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2566, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "998:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2565, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "998:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2568, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "1024:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2567, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1024:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2570, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "1041:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2569, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1041:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "968:90:6" + }, + "src": "946:113:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2582, + "name": "_ChallengeSucceeded", + "nodeType": "EventDefinition", + "parameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2574, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1088:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2573, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1088:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2576, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1117:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2575, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1117:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2578, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1143:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2577, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1143:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2580, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1160:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2579, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1160:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1087:90:6" + }, + "src": "1062:116:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2590, + "name": "_RewardClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2584, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1202:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2583, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1202:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2586, + "indexed": false, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1228:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2585, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1228:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2588, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1241:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1241:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1201:62:6" + }, + "src": "1181:83:6" + }, + { + "id": 2593, + "libraryName": { + "contractScope": null, + "id": 2591, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3687, + "src": "1274:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3687", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "1268:24:6", + "typeName": { + "id": 2592, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1287:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "canonicalName": "Registry.Listing", + "id": 2604, + "members": [ + { + "constant": false, + "id": 2595, + "name": "applicationExpiry", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1317:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2594, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1317:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2597, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1379:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2596, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1379:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2599, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1436:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2598, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1436:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2601, + "name": "unstakedDeposit", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1484:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2600, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1484:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2603, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1573:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2602, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1573:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Listing", + "nodeType": "StructDefinition", + "scope": 3593, + "src": "1296:345:6", + "visibility": "public" + }, + { + "canonicalName": "Registry.Challenge", + "id": 2619, + "members": [ + { + "constant": false, + "id": 2606, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1668:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2605, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1668:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2608, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1762:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1762:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2610, + "name": "resolved", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1812:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2609, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1812:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2612, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1882:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2611, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1882:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2614, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1973:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2613, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1973:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2618, + "name": "tokenClaims", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "2068:36:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2617, + "keyType": { + "id": 2615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2076:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2068:24:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 2616, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2087:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Challenge", + "nodeType": "StructDefinition", + "scope": 3593, + "src": "1645:518:6", + "visibility": "public" + }, + { + "constant": false, + "id": 2623, + "name": "challenges", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2219:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge)" + }, + "typeName": { + "id": 2622, + "keyType": { + "id": 2620, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2227:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2219:26:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge)" + }, + "valueType": { + "contractScope": null, + "id": 2621, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2619, + "src": "2235:9:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage_ptr", + "typeString": "struct Registry.Challenge" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2627, + "name": "listings", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2323:43:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing)" + }, + "typeName": { + "id": 2626, + "keyType": { + "id": 2624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2331:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "2323:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing)" + }, + "valueType": { + "contractScope": null, + "id": 2625, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "2342:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2629, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2393:18:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 2628, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 408, + "src": "2393:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2631, + "name": "voting", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2415:24:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + }, + "typeName": { + "contractScope": null, + "id": 2630, + "name": "PLCRVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1471, + "src": "2415:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2633, + "name": "parameterizer", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2443:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + }, + "typeName": { + "contractScope": null, + "id": 2632, + "name": "Parameterizer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "2443:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2635, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2481:18:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 2634, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2481:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 2668, + "nodeType": "Block", + "src": "2981:138:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2646, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "2987:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2648, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2637, + "src": "3001:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2647, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "2995:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$408_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 2649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2995:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "src": "2987:25:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2651, + "nodeType": "ExpressionStatement", + "src": "2987:25:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2652, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "3018:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2654, + "name": "_plcrAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "3038:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2653, + "name": "PLCRVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "3027:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$1471_$", + "typeString": "type(contract PLCRVoting)" + } + }, + "id": 2655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3027:21:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "src": "3018:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2657, + "nodeType": "ExpressionStatement", + "src": "3018:30:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2658, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "3054:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2660, + "name": "_paramsAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2641, + "src": "3084:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2659, + "name": "Parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2490, + "src": "3070:13:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Parameterizer_$2490_$", + "typeString": "type(contract Parameterizer)" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3070:26:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "src": "3054:42:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2663, + "nodeType": "ExpressionStatement", + "src": "3054:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2664, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2635, + "src": "3102:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2665, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "3109:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3102:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2667, + "nodeType": "ExpressionStatement", + "src": "3102:12:6" + } + ] + }, + "documentation": "@dev Contructor Sets the addresses for token, voting, and parameterizer\n@param _tokenAddr Address of the TCR's intrinsic ERC20 token\n@param _plcrAddr Address of a PLCR voting contract for the provided token\n@param _paramsAddr Address of a Parameterizer contract", + "id": 2669, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2637, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2883:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2883:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2639, + "name": "_plcrAddr", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2907:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2638, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2907:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2641, + "name": "_paramsAddr", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2930:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2930:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2643, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2955:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2955:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2877:94:6" + }, + "payable": false, + "returnParameters": { + "id": 2645, + "nodeType": "ParameterList", + "parameters": [], + "src": "2981:0:6" + }, + "scope": 3593, + "src": "2866:253:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2753, + "nodeType": "Block", + "src": "3689:660:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3703:28:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2680, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "3718:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2679, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "3704:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3704:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2678, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3695:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3695:37:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2684, + "nodeType": "ExpressionStatement", + "src": "3695:37:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3746:25:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2687, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "3758:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2686, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "3747:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3747:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3738:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3738:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2691, + "nodeType": "ExpressionStatement", + "src": "3738:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2693, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "3786:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 2696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3815:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2694, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "3797:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "3797:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3797:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3786:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2692, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3778:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3778:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2700, + "nodeType": "ExpressionStatement", + "src": "3778:51:6" + }, + { + "assignments": [ + 2702 + ], + "declarations": [ + { + "constant": false, + "id": 2702, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3854:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2701, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "3854:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2706, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2703, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "3880:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2705, + "indexExpression": { + "argumentTypes": null, + "id": 2704, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "3889:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3880:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3854:48:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2707, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "3908:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2709, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "3908:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2710, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3924:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3924:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3908:26:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2713, + "nodeType": "ExpressionStatement", + "src": "3908:26:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2714, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "3974:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2716, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "3974:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6170706c7953746167654c656e", + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4040:15:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + }, + "value": "applyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2720, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "4022:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "4022:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4022:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2717, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3692, + "src": "4002:5:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4002:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "4002:19: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": 2724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4002:55:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3974:83:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2726, + "nodeType": "ExpressionStatement", + "src": "3974:83:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2727, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "4063:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "4063:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2730, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "4089:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2732, + "nodeType": "ExpressionStatement", + "src": "4063:33:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2736, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "4185:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "4185:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2738, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3729, + "src": "4200:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + } + }, + { + "argumentTypes": null, + "id": 2739, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "4206:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2734, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "4166:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "4166:18: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": 2740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4166:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2733, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4158:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4158:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2742, + "nodeType": "ExpressionStatement", + "src": "4158:57:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2744, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "4247:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2745, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "4267:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2746, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "4282:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "4282:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2748, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2675, + "src": "4315:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2749, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4328:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4328:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2743, + "name": "_Application", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2508, + "src": "4227:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,string memory,address)" + } + }, + "id": 2751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4227:117:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2752, + "nodeType": "EmitStatement", + "src": "4222:122:6" + } + ] + }, + "documentation": "@dev Allows a user to start an application. Takes tokens from user and sets\napply stage end time.\n@param _listingHash The hash of a potential listing a user is applying to add to the registry\n@param _amount The number of ERC20 tokens a user is willing to potentially stake\n@param _data Extra data relevant to the application. Think IPFS hashes.", + "id": 2754, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "apply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2671, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3630:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2670, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3630:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2673, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3652:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2672, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3652:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2675, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3666:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3666:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3629:50:6" + }, + "payable": false, + "returnParameters": { + "id": 2677, + "nodeType": "ParameterList", + "parameters": [], + "src": "3689:0:6" + }, + "scope": 3593, + "src": "3615:734:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2800, + "nodeType": "Block", + "src": "4668:313:6", + "statements": [ + { + "assignments": [ + 2762 + ], + "declarations": [ + { + "constant": false, + "id": 2762, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "4674:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2761, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "4674:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2766, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2763, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "4700:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2765, + "indexExpression": { + "argumentTypes": null, + "id": 2764, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2756, + "src": "4709:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4700:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4674:48:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2768, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2762, + "src": "4737:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2769, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "4737:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2770, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4754:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4754:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4737:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4729:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4729:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2774, + "nodeType": "ExpressionStatement", + "src": "4729:36:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2775, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2762, + "src": "4772:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "4772:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 2778, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2758, + "src": "4799:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4772:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2780, + "nodeType": "ExpressionStatement", + "src": "4772:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2784, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4839:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4839:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2786, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3729, + "src": "4851:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + } + }, + { + "argumentTypes": null, + "id": 2787, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2758, + "src": "4857:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2782, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "4820:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "4820:18: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": 2788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4820:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2781, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4812:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4812:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2790, + "nodeType": "ExpressionStatement", + "src": "4812:54:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2792, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2756, + "src": "4894:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2793, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2758, + "src": "4914:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2794, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2762, + "src": "4929:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2795, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "4929:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2796, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4960:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4960:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2791, + "name": "_Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2532, + "src": "4878:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,address)" + } + }, + "id": 2798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4878:98:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2799, + "nodeType": "EmitStatement", + "src": "4873:103:6" + } + ] + }, + "documentation": "@dev Allows the owner of a listingHash to increase their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of\n@param _amount The number of ERC20 tokens to increase a user's unstaked deposit", + "id": 2801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2756, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "4623:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2755, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4623:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2758, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "4645:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2757, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4645:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4622:36:6" + }, + "payable": false, + "returnParameters": { + "id": 2760, + "nodeType": "ParameterList", + "parameters": [], + "src": "4668:0:6" + }, + "scope": 3593, + "src": "4606:375:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2865, + "nodeType": "Block", + "src": "5303:438:6", + "statements": [ + { + "assignments": [ + 2809 + ], + "declarations": [ + { + "constant": false, + "id": 2809, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2866, + "src": "5309:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2808, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "5309:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2813, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2810, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "5335:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2812, + "indexExpression": { + "argumentTypes": null, + "id": 2811, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2803, + "src": "5344:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5335:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5309:48:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2815, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5372:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "5372:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2817, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5389:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5389:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5372:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2814, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5364:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5364:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2821, + "nodeType": "ExpressionStatement", + "src": "5364:36:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2823, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5414:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2824, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5425:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2825, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5425:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5414:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2822, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5406:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5406:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2828, + "nodeType": "ExpressionStatement", + "src": "5406:43:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2830, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5463:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2831, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5463:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 2832, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5489:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5463:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 2836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5518:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2834, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "5500:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "5500:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5500:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5463:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2829, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5455:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5455:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2840, + "nodeType": "ExpressionStatement", + "src": "5455:77:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2841, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5539:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5539:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 2844, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5566:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5539:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2846, + "nodeType": "ExpressionStatement", + "src": "5539:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2850, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5602:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5602:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2852, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5614:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2848, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "5587:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "5587:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5587:35:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2847, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5579:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:44:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2855, + "nodeType": "ExpressionStatement", + "src": "5579:44:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2857, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2803, + "src": "5654:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2858, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5674:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2859, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5689:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5689:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2861, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5720:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5720:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2856, + "name": "_Withdrawal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "5635:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,address)" + } + }, + "id": 2863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5635:101:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2864, + "nodeType": "EmitStatement", + "src": "5630:106:6" + } + ] + }, + "documentation": "@dev Allows the owner of a listingHash to decrease their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of.\n@param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.", + "id": 2866, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2803, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2866, + "src": "5258:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5258:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2805, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2866, + "src": "5280:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2804, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5280:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5257:36:6" + }, + "payable": false, + "returnParameters": { + "id": 2807, + "nodeType": "ParameterList", + "parameters": [], + "src": "5303:0:6" + }, + "scope": 3593, + "src": "5240:501:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2912, + "nodeType": "Block", + "src": "6039:389:6", + "statements": [ + { + "assignments": [ + 2872 + ], + "declarations": [ + { + "constant": false, + "id": 2872, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2913, + "src": "6045:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2871, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "6045:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2876, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2873, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "6071:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2875, + "indexExpression": { + "argumentTypes": null, + "id": 2874, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6080:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6071:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6045:48:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2878, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6108:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6108:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2880, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2872, + "src": "6122:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2881, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "6122:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6108:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2877, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6100:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6100:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2884, + "nodeType": "ExpressionStatement", + "src": "6100:36:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2887, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6164:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2886, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "6150:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6150:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2885, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6142:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6142:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2890, + "nodeType": "ExpressionStatement", + "src": "6142:36:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2892, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2872, + "src": "6237:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "6237:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6260:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6237:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2896, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "6265:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 2899, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2897, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2872, + "src": "6276:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2898, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "6276:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6265:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 2900, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "6265:40:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6237:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6229:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6229:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2903, + "nodeType": "ExpressionStatement", + "src": "6229:77:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2905, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6368:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2904, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "6355:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6355:26:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2907, + "nodeType": "ExpressionStatement", + "src": "6355:26:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2909, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6410:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2908, + "name": "_ListingWithdrawn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2558, + "src": "6392:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6392:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2911, + "nodeType": "EmitStatement", + "src": "6387:36:6" + } + ] + }, + "documentation": "@dev Allows the owner of a listingHash to remove the listingHash from the whitelist\nReturns all tokens to the owner of the listingHash\n@param _listingHash A listingHash msg.sender is the owner of.", + "id": 2913, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "exit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2868, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2913, + "src": "6008:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2867, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6008:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6007:22:6" + }, + "payable": false, + "returnParameters": { + "id": 2870, + "nodeType": "ParameterList", + "parameters": [], + "src": "6039:0:6" + }, + "scope": 3593, + "src": "5994:434:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 3064, + "nodeType": "Block", + "src": "7030:1536:6", + "statements": [ + { + "assignments": [ + 2923 + ], + "declarations": [ + { + "constant": false, + "id": 2923, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7036:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2922, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "7036:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2927, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2924, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "7062:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2926, + "indexExpression": { + "argumentTypes": null, + "id": 2925, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7071:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7062:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7036:48:6" + }, + { + "assignments": [ + 2929 + ], + "declarations": [ + { + "constant": false, + "id": 2929, + "name": "minDeposit", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7090:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2928, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7090:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2934, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 2932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7126:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2930, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7108:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7108:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7108:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7090:49:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2937, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7231:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2936, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "7220:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7220:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2939, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7248:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "7248:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7220:47:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2935, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7212:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7212:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2943, + "nodeType": "ExpressionStatement", + "src": "7212:56:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2945, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7317:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2946, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "7317:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7340:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7317:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2949, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "7345:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 2952, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2950, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7356:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2951, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "7356:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7345:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 2953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "7345:40:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7317:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2944, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7309:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7309:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2956, + "nodeType": "ExpressionStatement", + "src": "7309:77:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2957, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7397:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2958, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "7397:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 2959, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "7423:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7397:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2972, + "nodeType": "IfStatement", + "src": "7393:196:6", + "trueBody": { + "id": 2971, + "nodeType": "Block", + "src": "7435:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2962, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7510:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2961, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "7497:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7497:26:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2964, + "nodeType": "ExpressionStatement", + "src": "7497:26:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2966, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7553:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2965, + "name": "_TouchAndRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2562, + "src": "7536:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7536:30:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2968, + "nodeType": "EmitStatement", + "src": "7531:35:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7581:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 2921, + "id": 2970, + "nodeType": "Return", + "src": "7574:8:6" + } + ] + } + }, + { + "assignments": [ + 2974 + ], + "declarations": [ + { + "constant": false, + "id": 2974, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7614:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2973, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7614:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2990, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "766f746551756f72756d", + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7670:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + }, + "value": "voteQuorum" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2977, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7652:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7652:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7652:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "636f6d6d697453746167654c656e", + "id": 2983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7709:16:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + }, + "value": "commitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2981, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7691:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7691:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7691:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "72657665616c53746167654c656e", + "id": 2987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7752:16:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + }, + "value": "revealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2985, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7734:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7734:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7734:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2975, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "7628:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startPoll", + "nodeType": "MemberAccess", + "referencedDeclaration": 1101, + "src": "7628:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) external returns (uint256)" + } + }, + "id": 2989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7628:147:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7614:161:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2991, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "7782:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 2993, + "indexExpression": { + "argumentTypes": null, + "id": 2992, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "7793:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7782:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2995, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7833:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7833:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 2997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7865:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 3000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7889:17:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2998, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7871:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7871:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 3001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7871:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7865:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3003, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7864:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3004, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "7911:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7864:57:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3006, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7863:59:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 3007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7925:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "7863:65:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3009, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "7943:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7971:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7997:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": null, + "id": 2994, + "name": "Challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2619, + "src": "7803:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Challenge_$2619_storage_ptr_$", + "typeString": "type(struct Registry.Challenge storage pointer)" + } + }, + "id": 3012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "challenger", + "rewardPool", + "stake", + "resolved", + "totalTokens" + ], + "nodeType": "FunctionCall", + "src": "7803:202:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_memory", + "typeString": "struct Registry.Challenge memory" + } + }, + "src": "7782:223:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3014, + "nodeType": "ExpressionStatement", + "src": "7782:223:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3015, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "8070:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3017, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "8070:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3018, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8092:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8070:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3020, + "nodeType": "ExpressionStatement", + "src": "8070:28:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3021, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "8158:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "8158:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 3024, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "8185:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8158:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3026, + "nodeType": "ExpressionStatement", + "src": "8158:37:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3030, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "8265:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8265:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3032, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3729, + "src": "8277:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + } + }, + { + "argumentTypes": null, + "id": 3033, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "8283:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3028, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "8246:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "8246:18: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": 3034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8246:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3027, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8238:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8238:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3036, + "nodeType": "ExpressionStatement", + "src": "8238:57:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3038, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "8302:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3037, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8302:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3039, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8302:18:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3041, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "8326:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3040, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8326:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3042, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8326:18:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 3043, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3038, + "src": "8351:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3044, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3041, + "src": "8366:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 3045, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8350:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3048, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8399:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3046, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "8384:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollMap", + "nodeType": "MemberAccess", + "referencedDeclaration": 535, + "src": "8384:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 3049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8384:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" + } + }, + "src": "8350:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3051, + "nodeType": "ExpressionStatement", + "src": "8350:56:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3053, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "8436:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3054, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8456:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3055, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2917, + "src": "8470:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 3056, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3038, + "src": "8483:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3057, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3041, + "src": "8504:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3058, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "8525:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8525:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3052, + "name": "_Challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2522, + "src": "8418:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,string memory,uint256,uint256,address)" + } + }, + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:123:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3061, + "nodeType": "EmitStatement", + "src": "8413:128:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3062, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8555:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2921, + "id": 3063, + "nodeType": "Return", + "src": "8548:13:6" + } + ] + }, + "documentation": "@dev Starts a poll for a listingHash which is either in the apply stage or\nalready in the whitelist. Tokens are taken from the challenger and the\napplicant's deposits are locked.\n@param _listingHash The listingHash being challenged, whether listed or in application\n@param _data Extra data relevant to the challenge. Think IPFS hashes.", + "id": 3065, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "challenge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2915, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "6958:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2914, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6958:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2917, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "6980:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2916, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6980:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6957:36:6" + }, + "payable": false, + "returnParameters": { + "id": 2921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2920, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7012:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2919, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7012:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7011:18:6" + }, + "scope": 3593, + "src": "6939:1627:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 3092, + "nodeType": "Block", + "src": "8846:217:6", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3071, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "8873:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3070, + "name": "canBeWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3271, + "src": "8856:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8856:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3079, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "8970:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3078, + "name": "challengeCanBeResolved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3354, + "src": "8947:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8947:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3089, + "nodeType": "Block", + "src": "9036:23:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3086, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3707, + 3708 + ], + "referencedDeclaration": 3707, + "src": "9044:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9044:8:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3088, + "nodeType": "ExpressionStatement", + "src": "9044:8:6" + } + ] + }, + "id": 3090, + "nodeType": "IfStatement", + "src": "8943:116:6", + "trueBody": { + "id": 3085, + "nodeType": "Block", + "src": "8985:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3082, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "9010:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3081, + "name": "resolveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3515, + "src": "8993:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8993:30:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3084, + "nodeType": "ExpressionStatement", + "src": "8993:30:6" + } + ] + } + }, + "id": 3091, + "nodeType": "IfStatement", + "src": "8852:207:6", + "trueBody": { + "id": 3077, + "nodeType": "Block", + "src": "8888:49:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3074, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "8917:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3073, + "name": "whitelistApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3539, + "src": "8896:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8896:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3076, + "nodeType": "ExpressionStatement", + "src": "8896:34:6" + } + ] + } + } + ] + }, + "documentation": "@dev Updates a listingHash's status from 'application' to 'listing' or resolves\na challenge if one exists.\n@param _listingHash The listingHash whose status is being updated", + "id": 3093, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3067, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3093, + "src": "8817:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3066, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8817:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8816:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3069, + "nodeType": "ParameterList", + "parameters": [], + "src": "8846:0:6" + }, + "scope": 3593, + "src": "8795:268:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3180, + "nodeType": "Block", + "src": "9532:853:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3101, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "9644:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3103, + "indexExpression": { + "argumentTypes": null, + "id": 3102, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9655:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9644:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 2618, + "src": "9644:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3107, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3105, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9681:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9681:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9644:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9696:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "9644:57:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3100, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9636:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9636:66:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3111, + "nodeType": "ExpressionStatement", + "src": "9636:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3113, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "9716:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3115, + "indexExpression": { + "argumentTypes": null, + "id": 3114, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9727:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9716:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "9716:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9753:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9716:41:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3112, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9708:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9708:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3120, + "nodeType": "ExpressionStatement", + "src": "9708:50:6" + }, + { + "assignments": [ + 3122 + ], + "declarations": [ + { + "constant": false, + "id": 3122, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9765:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3121, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9765:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3130, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3125, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9811:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9811:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3127, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9823:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3128, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3097, + "src": "9837:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3123, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "9784:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "9784:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 3129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9784:59:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9765:78:6" + }, + { + "assignments": [ + 3132 + ], + "declarations": [ + { + "constant": false, + "id": 3132, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9849:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3131, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9849:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3139, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3134, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9875:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9875:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3136, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9887:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3137, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3097, + "src": "9901:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3133, + "name": "voterReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3223, + "src": "9863:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view returns (uint256)" + } + }, + "id": 3138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9863:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9849:58:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3140, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10057:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3142, + "indexExpression": { + "argumentTypes": null, + "id": 3141, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10068:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10057:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "10057:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 3144, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3122, + "src": "10097:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10057:51:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3146, + "nodeType": "ExpressionStatement", + "src": "10057:51:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3147, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10114:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3149, + "indexExpression": { + "argumentTypes": null, + "id": 3148, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10125:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10114:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3150, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "10114:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 3151, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3132, + "src": "10153:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10114:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3153, + "nodeType": "ExpressionStatement", + "src": "10114:45:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3154, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10215:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3156, + "indexExpression": { + "argumentTypes": null, + "id": 3155, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10226:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10215:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 2618, + "src": "10215:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3160, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3158, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "10252:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10252:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10215:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10266:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "10215:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3163, + "nodeType": "ExpressionStatement", + "src": "10215:55:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3167, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "10300:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10300:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3169, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3132, + "src": "10312:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3165, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "10285:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "10285:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "10277:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10277:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3172, + "nodeType": "ExpressionStatement", + "src": "10277:43:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3174, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10347:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3175, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3132, + "src": "10361:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3176, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "10369:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10369:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3173, + "name": "_RewardClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2590, + "src": "10332:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,address)" + } + }, + "id": 3178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10332:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3179, + "nodeType": "EmitStatement", + "src": "10327:53:6" + } + ] + }, + "documentation": "@dev Called by a voter to claim their reward for each completed vote. Someone\nmust call updateStatus() before this can be called.\n@param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n@param _salt The salt of a voter's commit hash in the given poll", + "id": 3181, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3095, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9494:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3094, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9494:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3097, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9513:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3096, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9513:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9493:31:6" + }, + "payable": false, + "returnParameters": { + "id": 3099, + "nodeType": "ParameterList", + "parameters": [], + "src": "9532:0:6" + }, + "scope": 3593, + "src": "9473:912:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3222, + "nodeType": "Block", + "src": "10940:258:6", + "statements": [ + { + "assignments": [ + 3193 + ], + "declarations": [ + { + "constant": false, + "id": 3193, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10946:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3192, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10946:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3198, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3194, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10965:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3196, + "indexExpression": { + "argumentTypes": null, + "id": 3195, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "10976:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10965:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "10965:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10946:55:6" + }, + { + "assignments": [ + 3200 + ], + "declarations": [ + { + "constant": false, + "id": 3200, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "11007:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3199, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11007:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3205, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3201, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "11025:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3203, + "indexExpression": { + "argumentTypes": null, + "id": 3202, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "11036:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11025:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "11025:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11007:53:6" + }, + { + "assignments": [ + 3207 + ], + "declarations": [ + { + "constant": false, + "id": 3207, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "11066:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3206, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11066:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3214, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3210, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "11112:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3211, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "11120:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3212, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3187, + "src": "11134:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3208, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "11085:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "11085:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 3213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11085:55:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11066:74:6" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3215, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3207, + "src": "11154:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3216, + "name": "rewardPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3200, + "src": "11168:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11154:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3218, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11153:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3219, + "name": "totalTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3193, + "src": "11182:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11153:40:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3191, + "id": 3221, + "nodeType": "Return", + "src": "11146:47:6" + } + ] + }, + "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The pollID of the challenge a reward balance is being queried for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", + "id": 3223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "voterReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3183, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10862:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10862:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3185, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10878:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3184, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10878:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3187, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10897:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3186, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10897:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10861:47:6" + }, + "payable": false, + "returnParameters": { + "id": 3191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3190, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10932:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3189, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10932:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10931:6:6" + }, + "scope": 3593, + "src": "10841:357:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3270, + "nodeType": "Block", + "src": "11436:629:6", + "statements": [ + { + "assignments": [ + 3231 + ], + "declarations": [ + { + "constant": false, + "id": 3231, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "11442:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3230, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11442:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3236, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3232, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "11461:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3234, + "indexExpression": { + "argumentTypes": null, + "id": 3233, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11470:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11461:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3235, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "11461:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11442:53:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3238, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11768:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3237, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "11757:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11757:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3240, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "11828:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3242, + "indexExpression": { + "argumentTypes": null, + "id": 3241, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11837:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11828:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "11828:40:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3244, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "11871:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11828:46:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11757:117:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 3250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11921:28:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3248, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11936:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3247, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "11922:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11922:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11757:192:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3252, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3231, + "src": "11960:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11975:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11960:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3255, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "11980:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3257, + "indexExpression": { + "argumentTypes": null, + "id": 3256, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3231, + "src": "11991:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11980:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "11980:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12016:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "11980:40:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11960:60:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3262, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11959:62:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11757:264:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3267, + "nodeType": "IfStatement", + "src": "11709:333:6", + "trueBody": { + "id": 3266, + "nodeType": "Block", + "src": "12028:14:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12036:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3229, + "id": 3265, + "nodeType": "Return", + "src": "12029:11:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12055:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 3229, + "id": 3269, + "nodeType": "Return", + "src": "12048:12:6" + } + ] + }, + "documentation": "@dev Determines whether the given listingHash be whitelisted.\n@param _listingHash The listingHash whose status is to be examined", + "id": 3271, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "canBeWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3225, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "11387:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11387:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11386:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3229, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3228, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "11430:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3227, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11430:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11429:6:6" + }, + "scope": 3593, + "src": "11361:704:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3283, + "nodeType": "Block", + "src": "12311:52:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3278, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12324:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3280, + "indexExpression": { + "argumentTypes": null, + "id": 3279, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3273, + "src": "12333:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12324:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "12324:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3277, + "id": 3282, + "nodeType": "Return", + "src": "12317:41:6" + } + ] + }, + "documentation": "@dev Returns true if the provided listingHash is whitelisted\n@param _listingHash The listingHash whose status is to be examined", + "id": 3284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3273, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "12250:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12250:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12249:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3276, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "12293:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3275, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12293:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12292:18:6" + }, + "scope": 3593, + "src": "12227:136:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3298, + "nodeType": "Block", + "src": "12599:62:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3291, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12612:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3293, + "indexExpression": { + "argumentTypes": null, + "id": 3292, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3286, + "src": "12621:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12612:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "12612:40:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12655:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12612:44:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3290, + "id": 3297, + "nodeType": "Return", + "src": "12605:51:6" + } + ] + }, + "documentation": "@dev Returns true if apply was called for this listingHash\n@param _listingHash The listingHash whose status is to be examined", + "id": 3299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "appWasMade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3286, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "12543:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12543:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12542:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3289, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "12586:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12586:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12585:13:6" + }, + "scope": 3593, + "src": "12523:138:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3327, + "nodeType": "Block", + "src": "12913:155:6", + "statements": [ + { + "assignments": [ + 3307 + ], + "declarations": [ + { + "constant": false, + "id": 3307, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3328, + "src": "12919:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3306, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12919:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3312, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3308, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12938:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3310, + "indexExpression": { + "argumentTypes": null, + "id": 3309, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "12947:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12938:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3311, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "12938:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12919:53:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3313, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12987:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3315, + "indexExpression": { + "argumentTypes": null, + "id": 3314, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "12996:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12987:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "12987:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13024:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12987:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 3323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13029:33:6", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3319, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "13030:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3321, + "indexExpression": { + "argumentTypes": null, + "id": 3320, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3307, + "src": "13041:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13030:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3322, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "13030:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12987:75:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3325, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12986:77:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3305, + "id": 3326, + "nodeType": "Return", + "src": "12979:84:6" + } + ] + }, + "documentation": "@dev Returns true if the application/listingHash has an unresolved challenge\n@param _listingHash The listingHash whose status is to be examined", + "id": 3328, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3301, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3328, + "src": "12864:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3300, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12864:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12863:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3304, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3328, + "src": "12907:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3303, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12907:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12906:6:6" + }, + "scope": 3593, + "src": "12839:229:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3353, + "nodeType": "Block", + "src": "13384:152:6", + "statements": [ + { + "assignments": [ + 3336 + ], + "declarations": [ + { + "constant": false, + "id": 3336, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "13390:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13390:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3341, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3337, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "13409:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3339, + "indexExpression": { + "argumentTypes": null, + "id": 3338, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "13418:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13409:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "13409:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13390:53:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3344, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "13474:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3343, + "name": "challengeExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3328, + "src": "13458:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13458:29:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3342, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "13450:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13450:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3347, + "nodeType": "ExpressionStatement", + "src": "13450:38:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3350, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3336, + "src": "13519:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3348, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "13502:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollEnded", + "nodeType": "MemberAccess", + "referencedDeclaration": 1187, + "src": "13502:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 3351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13502:29:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3334, + "id": 3352, + "nodeType": "Return", + "src": "13495:36:6" + } + ] + }, + "documentation": "@dev Determines whether voting has concluded in a challenge for a given\nlistingHash. Throws if no challenge exists.\n@param _listingHash A listingHash with an unresolved challenge", + "id": 3354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeCanBeResolved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3330, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "13335:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3329, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13334:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3333, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "13378:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3332, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13378:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13377:6:6" + }, + "scope": 3593, + "src": "13303:233:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3402, + "nodeType": "Block", + "src": "13785:375:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13799:34:6", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3362, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "13800:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3364, + "indexExpression": { + "argumentTypes": null, + "id": 3363, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "13811:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13800:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "13800:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3369, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "13854:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3367, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "13837:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollEnded", + "nodeType": "MemberAccess", + "referencedDeclaration": 1187, + "src": "13837:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 3370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13837:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13799:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3361, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "13791:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13791:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3373, + "nodeType": "ExpressionStatement", + "src": "13791:77:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3376, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "13992:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3374, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "13946:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "13946:45:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 3377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13946:59:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14009:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13946:64:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3388, + "nodeType": "IfStatement", + "src": "13942:126:6", + "trueBody": { + "id": 3387, + "nodeType": "Block", + "src": "14012:56:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14027:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3381, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14031:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3383, + "indexExpression": { + "argumentTypes": null, + "id": 3382, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "14042:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14031:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "14031:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14027:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3360, + "id": 3386, + "nodeType": "Return", + "src": "14020:41:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14082:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3390, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14086:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3392, + "indexExpression": { + "argumentTypes": null, + "id": 3391, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "14097:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14086:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "14086:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14082:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3395, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14081:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3396, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14120:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3398, + "indexExpression": { + "argumentTypes": null, + "id": 3397, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "14131:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14120:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3399, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "14120:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14081:74:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3360, + "id": 3401, + "nodeType": "Return", + "src": "14074:81:6" + } + ] + }, + "documentation": "@dev Determines the number of tokens awarded to the winning party in a challenge.\n@param _challengeID The challengeID to determine a reward for", + "id": 3403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "determineReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3356, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "13739:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3355, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13739:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13738:19:6" + }, + "payable": false, + "returnParameters": { + "id": 3360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3359, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "13779:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3358, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13779:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13778:6:6" + }, + "scope": 3593, + "src": "13714:446:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3419, + "nodeType": "Block", + "src": "14458:62:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3412, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14471:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3414, + "indexExpression": { + "argumentTypes": null, + "id": 3413, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3405, + "src": "14482:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14471:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3415, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 2618, + "src": "14471:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3417, + "indexExpression": { + "argumentTypes": null, + "id": 3416, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "14508:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14471:44:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3411, + "id": 3418, + "nodeType": "Return", + "src": "14464:51:6" + } + ] + }, + "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", + "id": 3420, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "tokenClaims", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3405, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3420, + "src": "14396:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3404, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14396:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3407, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 3420, + "src": "14415:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14415:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14395:35:6" + }, + "payable": false, + "returnParameters": { + "id": 3411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3410, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3420, + "src": "14452:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3409, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14452:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14451:6:6" + }, + "scope": 3593, + "src": "14375:145:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3514, + "nodeType": "Block", + "src": "14900:1308:6", + "statements": [ + { + "assignments": [ + 3426 + ], + "declarations": [ + { + "constant": false, + "id": 3426, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3515, + "src": "14906:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3425, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14906:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3431, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3427, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "14925:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3429, + "indexExpression": { + "argumentTypes": null, + "id": 3428, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "14934:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14925:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "14925:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14906:53:6" + }, + { + "assignments": [ + 3433 + ], + "declarations": [ + { + "constant": false, + "id": 3433, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 3515, + "src": "15080:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3432, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15080:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3437, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3435, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15110:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3434, + "name": "determineReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3403, + "src": "15094:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 3436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15094:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15080:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3438, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15175:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3440, + "indexExpression": { + "argumentTypes": null, + "id": 3439, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15186:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15175:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "15175:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15210:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15175:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3444, + "nodeType": "ExpressionStatement", + "src": "15175:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3445, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15308:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3447, + "indexExpression": { + "argumentTypes": null, + "id": 3446, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15319:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15308:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3448, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "15308:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3451, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15392:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3449, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "15346:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "15346:45:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15346:58:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15308:96:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3454, + "nodeType": "ExpressionStatement", + "src": "15308:96:6" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3457, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15461:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3455, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "15445:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isPassed", + "nodeType": "MemberAccess", + "referencedDeclaration": 1138, + "src": "15445:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 3458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15445:28:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3512, + "nodeType": "Block", + "src": "15823:381:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3485, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15889:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3484, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "15876:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15876:26:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3487, + "nodeType": "ExpressionStatement", + "src": "15876:26:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3491, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15980:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3493, + "indexExpression": { + "argumentTypes": null, + "id": 3492, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15991:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15980:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challenger", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "15980:34:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3495, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3433, + "src": "16016:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3489, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "15965:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "15965:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15965:58:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "15957:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15957:67:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3498, + "nodeType": "ExpressionStatement", + "src": "15957:67:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3500, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "16067:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3501, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "16089:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3502, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "16110:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3504, + "indexExpression": { + "argumentTypes": null, + "id": 3503, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "16121:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16110:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "16110:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3506, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "16154:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3508, + "indexExpression": { + "argumentTypes": null, + "id": 3507, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "16165:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16154:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3509, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "16154:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3499, + "name": "_ChallengeSucceeded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2582, + "src": "16038:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 3510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16038:159:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3511, + "nodeType": "EmitStatement", + "src": "16033:164:6" + } + ] + }, + "id": 3513, + "nodeType": "IfStatement", + "src": "15441:763:6", + "trueBody": { + "id": 3483, + "nodeType": "Block", + "src": "15475:342:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3460, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15504:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3459, + "name": "whitelistApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3539, + "src": "15483:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15483:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3462, + "nodeType": "ExpressionStatement", + "src": "15483:34:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3463, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "15592:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3465, + "indexExpression": { + "argumentTypes": null, + "id": 3464, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15601:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15592:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "15592:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 3467, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3433, + "src": "15634:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15592:48:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3469, + "nodeType": "ExpressionStatement", + "src": "15592:48:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3471, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15680:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3472, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15702:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3473, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15723:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3475, + "indexExpression": { + "argumentTypes": null, + "id": 3474, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15734:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15723:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3476, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "15723:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3477, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15767:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3479, + "indexExpression": { + "argumentTypes": null, + "id": 3478, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15778:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15767:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "15767:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3470, + "name": "_ChallengeFailed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2572, + "src": "15654:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 3481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15654:156:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3482, + "nodeType": "EmitStatement", + "src": "15649:161:6" + } + ] + } + } + ] + }, + "documentation": "@dev Determines the winner in a challenge. Rewards the winner tokens and\neither whitelists or de-whitelists the listingHash.\n@param _listingHash A listingHash with a challenge that is to be resolved", + "id": 3515, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resolveChallenge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3422, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3515, + "src": "14870:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3421, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14870:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14869:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3424, + "nodeType": "ParameterList", + "parameters": [], + "src": "14900:0:6" + }, + "scope": 3593, + "src": "14844:1364:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 3538, + "nodeType": "Block", + "src": "16602:143:6", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16612:35:6", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3520, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "16613:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3522, + "indexExpression": { + "argumentTypes": null, + "id": 3521, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3517, + "src": "16622:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16613:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "16613:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3530, + "nodeType": "IfStatement", + "src": "16608:86:6", + "trueBody": { + "id": 3529, + "nodeType": "Block", + "src": "16649:45:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3526, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3517, + "src": "16679:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3525, + "name": "_ApplicationWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2546, + "src": "16655:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16655:37:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3528, + "nodeType": "EmitStatement", + "src": "16650:42:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3531, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "16699:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3533, + "indexExpression": { + "argumentTypes": null, + "id": 3532, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3517, + "src": "16708:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16699:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3534, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "16699:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16736:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16699:41:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3537, + "nodeType": "ExpressionStatement", + "src": "16699:41:6" + } + ] + }, + "documentation": "@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made. Called by resolveChallenge() if an\napplication/listing beat a challenge.\n@param _listingHash The listingHash of an application/listingHash to be whitelisted", + "id": 3539, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "whitelistApplication", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3517, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3539, + "src": "16572:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3516, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16572:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16571:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3519, + "nodeType": "ParameterList", + "parameters": [], + "src": "16602:0:6" + }, + "scope": 3593, + "src": "16542:203:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 3591, + "nodeType": "Block", + "src": "16959:589:6", + "statements": [ + { + "assignments": [ + 3545 + ], + "declarations": [ + { + "constant": false, + "id": 3545, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "16965:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 3544, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "16965:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3549, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3546, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "16991:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3548, + "indexExpression": { + "argumentTypes": null, + "id": 3547, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17000:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16991:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16965:48:6" + }, + { + "condition": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3550, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "17099:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "17099:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3561, + "nodeType": "Block", + "src": "17175:53:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3558, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17208:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3557, + "name": "_ApplicationRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2550, + "src": "17188:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17188:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3560, + "nodeType": "EmitStatement", + "src": "17183:38:6" + } + ] + }, + "id": 3562, + "nodeType": "IfStatement", + "src": "17095:133:6", + "trueBody": { + "id": 3556, + "nodeType": "Block", + "src": "17120:49:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3553, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17149:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3552, + "name": "_ListingRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "17133:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17133:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3555, + "nodeType": "EmitStatement", + "src": "17128:34:6" + } + ] + } + }, + { + "assignments": [ + 3564 + ], + "declarations": [ + { + "constant": false, + "id": 3564, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "17277:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17277:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3567, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3565, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "17293:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "17293:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17277:29:6" + }, + { + "assignments": [ + 3569 + ], + "declarations": [ + { + "constant": false, + "id": 3569, + "name": "unstakedDeposit", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "17312:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3568, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17312:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3572, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3570, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "17335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3571, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "17335:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17312:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "17364:29:6", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3573, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "17371:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3575, + "indexExpression": { + "argumentTypes": null, + "id": 3574, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17380:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17371:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3577, + "nodeType": "ExpressionStatement", + "src": "17364:29:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3578, + "name": "unstakedDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3569, + "src": "17461:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17479:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17461:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3590, + "nodeType": "IfStatement", + "src": "17457:87:6", + "trueBody": { + "id": 3589, + "nodeType": "Block", + "src": "17482:62:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3584, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3564, + "src": "17513:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3585, + "name": "unstakedDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3569, + "src": "17520:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3582, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "17498:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "17498:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17498:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3581, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "17490:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17490:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3588, + "nodeType": "ExpressionStatement", + "src": "17490:47:6" + } + ] + } + } + ] + }, + "documentation": "@dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n@param _listingHash The listing hash to delete", + "id": 3592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resetListing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3541, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "16929:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16929:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16928:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3543, + "nodeType": "ParameterList", + "parameters": [], + "src": "16959:0:6" + }, + "scope": 3593, + "src": "16907:641:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 3594, + "src": "131:17419:6" + } + ], + "src": "0:17551:6" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/Registry.sol", + "exportedSymbols": { + "Registry": [ + 3593 + ] + }, + "id": 3594, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2492, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 2493, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 409, + "src": "25:21:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/Parameterizer.sol", + "file": "./Parameterizer.sol", + "id": 2494, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 2491, + "src": "47:29:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/PLCRVoting.sol", + "file": "./PLCRVoting.sol", + "id": 2495, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 1472, + "src": "77:26:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "file": "./SafeMath.sol", + "id": 2496, + "nodeType": "ImportDirective", + "scope": 3594, + "sourceUnit": 3688, + "src": "104:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 3593, + "linearizedBaseContracts": [ + 3593 + ], + "name": "Registry", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 2508, + "name": "_Application", + "nodeType": "EventDefinition", + "parameters": { + "id": 2507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2498, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "210:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2497, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "210:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2500, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "239:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2499, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "239:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2502, + "indexed": false, + "name": "appEndDate", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "253:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2501, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "253:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2504, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "270:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2503, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "270:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2506, + "indexed": true, + "name": "applicant", + "nodeType": "VariableDeclaration", + "scope": 2508, + "src": "283:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "283:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "209:100:6" + }, + "src": "191:119:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2522, + "name": "_Challenge", + "nodeType": "EventDefinition", + "parameters": { + "id": 2521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2510, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "330:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2509, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "330:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2512, + "indexed": false, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "359:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2511, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "359:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2514, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "377:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2513, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "377:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2516, + "indexed": false, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "390:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2515, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "390:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2518, + "indexed": false, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "410:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2517, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "410:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2520, + "indexed": true, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 2522, + "src": "430:26:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "430:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "329:128:6" + }, + "src": "313:145:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2532, + "name": "_Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 2531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2524, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "476:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2523, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "476:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2526, + "indexed": false, + "name": "added", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "505:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2525, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "505:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2528, + "indexed": false, + "name": "newTotal", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "517:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "517:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2530, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2532, + "src": "532:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2529, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "532:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "475:79:6" + }, + "src": "461:94:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2542, + "name": "_Withdrawal", + "nodeType": "EventDefinition", + "parameters": { + "id": 2541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2534, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "576:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2533, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "576:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2536, + "indexed": false, + "name": "withdrew", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "605:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2535, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "605:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2538, + "indexed": false, + "name": "newTotal", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "620:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2537, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "620:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2540, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2542, + "src": "635:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "635:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "575:82:6" + }, + "src": "558:100:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2546, + "name": "_ApplicationWhitelisted", + "nodeType": "EventDefinition", + "parameters": { + "id": 2545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2544, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2546, + "src": "691:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2543, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "691:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "690:29:6" + }, + "src": "661:59:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2550, + "name": "_ApplicationRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 2549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2548, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2550, + "src": "749:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "749:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:29:6" + }, + "src": "723:55:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2554, + "name": "_ListingRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 2553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2552, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2554, + "src": "803:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2551, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "803:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "802:29:6" + }, + "src": "781:51:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2558, + "name": "_ListingWithdrawn", + "nodeType": "EventDefinition", + "parameters": { + "id": 2557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2556, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2558, + "src": "859:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2555, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "859:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "858:29:6" + }, + "src": "835:53:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2562, + "name": "_TouchAndRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 2561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2560, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "914:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2559, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "914:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "913:29:6" + }, + "src": "891:52:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2572, + "name": "_ChallengeFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2564, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "969:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2563, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "969:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2566, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "998:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2565, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "998:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2568, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "1024:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2567, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1024:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2570, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 2572, + "src": "1041:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2569, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1041:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "968:90:6" + }, + "src": "946:113:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2582, + "name": "_ChallengeSucceeded", + "nodeType": "EventDefinition", + "parameters": { + "id": 2581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2574, + "indexed": true, + "name": "listingHash", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1088:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2573, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1088:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2576, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1117:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2575, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1117:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2578, + "indexed": false, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1143:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2577, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1143:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2580, + "indexed": false, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 2582, + "src": "1160:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2579, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1160:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1087:90:6" + }, + "src": "1062:116:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 2590, + "name": "_RewardClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 2589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2584, + "indexed": true, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1202:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2583, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1202:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2586, + "indexed": false, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1228:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2585, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1228:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2588, + "indexed": true, + "name": "voter", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "1241:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1241:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1201:62:6" + }, + "src": "1181:83:6" + }, + { + "id": 2593, + "libraryName": { + "contractScope": null, + "id": 2591, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3687, + "src": "1274:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$3687", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "1268:24:6", + "typeName": { + "id": 2592, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1287:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "canonicalName": "Registry.Listing", + "id": 2604, + "members": [ + { + "constant": false, + "id": 2595, + "name": "applicationExpiry", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1317:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2594, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1317:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2597, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1379:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2596, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1379:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2599, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1436:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2598, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1436:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2601, + "name": "unstakedDeposit", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1484:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2600, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1484:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2603, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 2604, + "src": "1573:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2602, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1573:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Listing", + "nodeType": "StructDefinition", + "scope": 3593, + "src": "1296:345:6", + "visibility": "public" + }, + { + "canonicalName": "Registry.Challenge", + "id": 2619, + "members": [ + { + "constant": false, + "id": 2606, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1668:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2605, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1668:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2608, + "name": "challenger", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1762:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1762:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2610, + "name": "resolved", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1812:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2609, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1812:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2612, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1882:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2611, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1882:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2614, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "1973:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2613, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1973:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2618, + "name": "tokenClaims", + "nodeType": "VariableDeclaration", + "scope": 2619, + "src": "2068:36:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 2617, + "keyType": { + "id": 2615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2076:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2068:24:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 2616, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2087:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Challenge", + "nodeType": "StructDefinition", + "scope": 3593, + "src": "1645:518:6", + "visibility": "public" + }, + { + "constant": false, + "id": 2623, + "name": "challenges", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2219:44:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge)" + }, + "typeName": { + "id": 2622, + "keyType": { + "id": 2620, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2227:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2219:26:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge)" + }, + "valueType": { + "contractScope": null, + "id": 2621, + "name": "Challenge", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2619, + "src": "2235:9:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage_ptr", + "typeString": "struct Registry.Challenge" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2627, + "name": "listings", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2323:43:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing)" + }, + "typeName": { + "id": 2626, + "keyType": { + "id": 2624, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2331:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "2323:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing)" + }, + "valueType": { + "contractScope": null, + "id": 2625, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "2342:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2629, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2393:18:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + }, + "typeName": { + "contractScope": null, + "id": 2628, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 408, + "src": "2393:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2631, + "name": "voting", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2415:24:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + }, + "typeName": { + "contractScope": null, + "id": 2630, + "name": "PLCRVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1471, + "src": "2415:10:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2633, + "name": "parameterizer", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2443:34:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + }, + "typeName": { + "contractScope": null, + "id": 2632, + "name": "Parameterizer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "2443:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 2635, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 3593, + "src": "2481:18:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 2634, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2481:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 2668, + "nodeType": "Block", + "src": "2981:138:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2646, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "2987:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2648, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2637, + "src": "3001:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2647, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "2995:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$408_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 2649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2995:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "src": "2987:25:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2651, + "nodeType": "ExpressionStatement", + "src": "2987:25:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2652, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "3018:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2654, + "name": "_plcrAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "3038:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2653, + "name": "PLCRVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "3027:10:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_PLCRVoting_$1471_$", + "typeString": "type(contract PLCRVoting)" + } + }, + "id": 2655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3027:21:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "src": "3018:30:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2657, + "nodeType": "ExpressionStatement", + "src": "3018:30:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2658, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "3054:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2660, + "name": "_paramsAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2641, + "src": "3084:11:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2659, + "name": "Parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2490, + "src": "3070:13:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Parameterizer_$2490_$", + "typeString": "type(contract Parameterizer)" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3070:26:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "src": "3054:42:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2663, + "nodeType": "ExpressionStatement", + "src": "3054:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2664, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2635, + "src": "3102:4:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2665, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "3109:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3102:12:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2667, + "nodeType": "ExpressionStatement", + "src": "3102:12:6" + } + ] + }, + "documentation": "@dev Contructor Sets the addresses for token, voting, and parameterizer\n@param _tokenAddr Address of the TCR's intrinsic ERC20 token\n@param _plcrAddr Address of a PLCR voting contract for the provided token\n@param _paramsAddr Address of a Parameterizer contract", + "id": 2669, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2637, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2883:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2883:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2639, + "name": "_plcrAddr", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2907:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2638, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2907:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2641, + "name": "_paramsAddr", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2930:19:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2930:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2643, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 2669, + "src": "2955:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2955:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2877:94:6" + }, + "payable": false, + "returnParameters": { + "id": 2645, + "nodeType": "ParameterList", + "parameters": [], + "src": "2981:0:6" + }, + "scope": 3593, + "src": "2866:253:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2753, + "nodeType": "Block", + "src": "3689:660:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3703:28:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2680, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "3718:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2679, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "3704:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3704:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2678, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3695:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3695:37:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2684, + "nodeType": "ExpressionStatement", + "src": "3695:37:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3746:25:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2687, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "3758:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2686, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "3747:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3747:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3738:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3738:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2691, + "nodeType": "ExpressionStatement", + "src": "3738:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2693, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "3786:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 2696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3815:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2694, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "3797:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "3797:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3797:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3786:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2692, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "3778:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3778:51:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2700, + "nodeType": "ExpressionStatement", + "src": "3778:51:6" + }, + { + "assignments": [ + 2702 + ], + "declarations": [ + { + "constant": false, + "id": 2702, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3854:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2701, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "3854:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2706, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2703, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "3880:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2705, + "indexExpression": { + "argumentTypes": null, + "id": 2704, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "3889:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3880:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3854:48:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2707, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "3908:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2709, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "3908:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2710, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "3924:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3924:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3908:26:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2713, + "nodeType": "ExpressionStatement", + "src": "3908:26:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2714, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "3974:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2716, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "3974:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6170706c7953746167654c656e", + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4040:15:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + }, + "value": "applyStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da", + "typeString": "literal_string \"applyStageLen\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2720, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "4022:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "4022:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4022:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2717, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3692, + "src": "4002:5:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4002:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3686, + "src": "4002:19: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": 2724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4002:55:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3974:83:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2726, + "nodeType": "ExpressionStatement", + "src": "3974:83:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2727, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "4063:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "4063:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2730, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "4089:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2732, + "nodeType": "ExpressionStatement", + "src": "4063:33:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2736, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "4185:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "4185:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2738, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3729, + "src": "4200:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + } + }, + { + "argumentTypes": null, + "id": 2739, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "4206:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2734, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "4166:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "4166:18: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": 2740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4166:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2733, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4158:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4158:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2742, + "nodeType": "ExpressionStatement", + "src": "4158:57:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2744, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2671, + "src": "4247:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2745, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "4267:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2746, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "4282:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "4282:25:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2748, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2675, + "src": "4315:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2749, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4328:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4328:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2743, + "name": "_Application", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2508, + "src": "4227:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,string memory,address)" + } + }, + "id": 2751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4227:117:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2752, + "nodeType": "EmitStatement", + "src": "4222:122:6" + } + ] + }, + "documentation": "@dev Allows a user to start an application. Takes tokens from user and sets\napply stage end time.\n@param _listingHash The hash of a potential listing a user is applying to add to the registry\n@param _amount The number of ERC20 tokens a user is willing to potentially stake\n@param _data Extra data relevant to the application. Think IPFS hashes.", + "id": 2754, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "apply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2671, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3630:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2670, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3630:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2673, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3652:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2672, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3652:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2675, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 2754, + "src": "3666:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3666:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3629:50:6" + }, + "payable": false, + "returnParameters": { + "id": 2677, + "nodeType": "ParameterList", + "parameters": [], + "src": "3689:0:6" + }, + "scope": 3593, + "src": "3615:734:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2800, + "nodeType": "Block", + "src": "4668:313:6", + "statements": [ + { + "assignments": [ + 2762 + ], + "declarations": [ + { + "constant": false, + "id": 2762, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "4674:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2761, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "4674:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2766, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2763, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "4700:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2765, + "indexExpression": { + "argumentTypes": null, + "id": 2764, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2756, + "src": "4709:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4700:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4674:48:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2768, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2762, + "src": "4737:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2769, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "4737:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2770, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4754:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4754:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4737:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4729:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4729:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2774, + "nodeType": "ExpressionStatement", + "src": "4729:36:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2775, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2762, + "src": "4772:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "4772:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 2778, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2758, + "src": "4799:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4772:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2780, + "nodeType": "ExpressionStatement", + "src": "4772:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2784, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4839:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4839:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2786, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3729, + "src": "4851:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + } + }, + { + "argumentTypes": null, + "id": 2787, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2758, + "src": "4857:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2782, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "4820:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "4820:18: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": 2788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4820:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2781, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "4812:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4812:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2790, + "nodeType": "ExpressionStatement", + "src": "4812:54:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2792, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2756, + "src": "4894:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2793, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2758, + "src": "4914:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2794, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2762, + "src": "4929:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2795, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "4929:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2796, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4960:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4960:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2791, + "name": "_Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2532, + "src": "4878:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,address)" + } + }, + "id": 2798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4878:98:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2799, + "nodeType": "EmitStatement", + "src": "4873:103:6" + } + ] + }, + "documentation": "@dev Allows the owner of a listingHash to increase their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of\n@param _amount The number of ERC20 tokens to increase a user's unstaked deposit", + "id": 2801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2756, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "4623:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2755, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4623:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2758, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "4645:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2757, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4645:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4622:36:6" + }, + "payable": false, + "returnParameters": { + "id": 2760, + "nodeType": "ParameterList", + "parameters": [], + "src": "4668:0:6" + }, + "scope": 3593, + "src": "4606:375:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2865, + "nodeType": "Block", + "src": "5303:438:6", + "statements": [ + { + "assignments": [ + 2809 + ], + "declarations": [ + { + "constant": false, + "id": 2809, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2866, + "src": "5309:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2808, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "5309:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2813, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2810, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "5335:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2812, + "indexExpression": { + "argumentTypes": null, + "id": 2811, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2803, + "src": "5344:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5335:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5309:48:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2815, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5372:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "5372:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2817, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5389:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5389:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5372:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2814, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5364:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5364:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2821, + "nodeType": "ExpressionStatement", + "src": "5364:36:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2823, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5414:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2824, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5425:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2825, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5425:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5414:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2822, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5406:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5406:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2828, + "nodeType": "ExpressionStatement", + "src": "5406:43:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2830, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5463:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2831, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5463:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 2832, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5489:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5463:33:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 2836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5518:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2834, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "5500:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "5500:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5500:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5463:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2829, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5455:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5455:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2840, + "nodeType": "ExpressionStatement", + "src": "5455:77:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 2845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2841, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5539:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5539:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 2844, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5566:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5539:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2846, + "nodeType": "ExpressionStatement", + "src": "5539:34:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2850, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5602:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5602:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2852, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5614:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2848, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "5587:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 2849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "5587:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5587:35:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2847, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "5579:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:44:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2855, + "nodeType": "ExpressionStatement", + "src": "5579:44:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2857, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2803, + "src": "5654:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2858, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "5674:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2859, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "5689:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "5689:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2861, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5720:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5720:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2856, + "name": "_Withdrawal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "5635:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,address)" + } + }, + "id": 2863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5635:101:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2864, + "nodeType": "EmitStatement", + "src": "5630:106:6" + } + ] + }, + "documentation": "@dev Allows the owner of a listingHash to decrease their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of.\n@param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.", + "id": 2866, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2803, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2866, + "src": "5258:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5258:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2805, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2866, + "src": "5280:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2804, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5280:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5257:36:6" + }, + "payable": false, + "returnParameters": { + "id": 2807, + "nodeType": "ParameterList", + "parameters": [], + "src": "5303:0:6" + }, + "scope": 3593, + "src": "5240:501:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2912, + "nodeType": "Block", + "src": "6039:389:6", + "statements": [ + { + "assignments": [ + 2872 + ], + "declarations": [ + { + "constant": false, + "id": 2872, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 2913, + "src": "6045:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2871, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "6045:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2876, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2873, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "6071:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2875, + "indexExpression": { + "argumentTypes": null, + "id": 2874, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6080:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6071:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6045:48:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2878, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "6108:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6108:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2880, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2872, + "src": "6122:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2881, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "6122:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6108:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2877, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6100:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6100:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2884, + "nodeType": "ExpressionStatement", + "src": "6100:36:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2887, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6164:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2886, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "6150:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6150:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2885, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6142:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6142:36:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2890, + "nodeType": "ExpressionStatement", + "src": "6142:36:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2892, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2872, + "src": "6237:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "6237:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6260:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6237:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2896, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "6265:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 2899, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2897, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2872, + "src": "6276:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2898, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "6276:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6265:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 2900, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "6265:40:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6237:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "6229:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6229:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2903, + "nodeType": "ExpressionStatement", + "src": "6229:77:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2905, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6368:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2904, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "6355:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6355:26:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2907, + "nodeType": "ExpressionStatement", + "src": "6355:26:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2909, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2868, + "src": "6410:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2908, + "name": "_ListingWithdrawn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2558, + "src": "6392:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6392:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2911, + "nodeType": "EmitStatement", + "src": "6387:36:6" + } + ] + }, + "documentation": "@dev Allows the owner of a listingHash to remove the listingHash from the whitelist\nReturns all tokens to the owner of the listingHash\n@param _listingHash A listingHash msg.sender is the owner of.", + "id": 2913, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "exit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2868, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 2913, + "src": "6008:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2867, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6008:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6007:22:6" + }, + "payable": false, + "returnParameters": { + "id": 2870, + "nodeType": "ParameterList", + "parameters": [], + "src": "6039:0:6" + }, + "scope": 3593, + "src": "5994:434:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 3064, + "nodeType": "Block", + "src": "7030:1536:6", + "statements": [ + { + "assignments": [ + 2923 + ], + "declarations": [ + { + "constant": false, + "id": 2923, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7036:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 2922, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "7036:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2927, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2924, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "7062:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 2926, + "indexExpression": { + "argumentTypes": null, + "id": 2925, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7071:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7062:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7036:48:6" + }, + { + "assignments": [ + 2929 + ], + "declarations": [ + { + "constant": false, + "id": 2929, + "name": "minDeposit", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7090:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2928, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7090:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2934, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "6d696e4465706f736974", + "id": 2932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7126:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + }, + "value": "minDeposit" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d", + "typeString": "literal_string \"minDeposit\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2930, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7108:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7108:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7108:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7090:49:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2937, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7231:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2936, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "7220:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7220:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2939, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7248:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "7248:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7220:47:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2935, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7212:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7212:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2943, + "nodeType": "ExpressionStatement", + "src": "7212:56:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2945, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7317:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2946, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "7317:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7340:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7317:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2949, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "7345:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 2952, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2950, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7356:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2951, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "7356:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7345:31:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 2953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "7345:40:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7317:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2944, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "7309:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7309:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2956, + "nodeType": "ExpressionStatement", + "src": "7309:77:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2957, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "7397:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 2958, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "7397:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 2959, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "7423:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7397:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2972, + "nodeType": "IfStatement", + "src": "7393:196:6", + "trueBody": { + "id": 2971, + "nodeType": "Block", + "src": "7435:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2962, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7510:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2961, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "7497:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7497:26:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2964, + "nodeType": "ExpressionStatement", + "src": "7497:26:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2966, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "7553:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2965, + "name": "_TouchAndRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2562, + "src": "7536:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7536:30:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2968, + "nodeType": "EmitStatement", + "src": "7531:35:6" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7581:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 2921, + "id": 2970, + "nodeType": "Return", + "src": "7574:8:6" + } + ] + } + }, + { + "assignments": [ + 2974 + ], + "declarations": [ + { + "constant": false, + "id": 2974, + "name": "pollID", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7614:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2973, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7614:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2990, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "766f746551756f72756d", + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7670:12:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + }, + "value": "voteQuorum" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878", + "typeString": "literal_string \"voteQuorum\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2977, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7652:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7652:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7652:31:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "636f6d6d697453746167654c656e", + "id": 2983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7709:16:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + }, + "value": "commitStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d", + "typeString": "literal_string \"commitStageLen\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2981, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7691:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7691:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7691:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "72657665616c53746167654c656e", + "id": 2987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7752:16:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + }, + "value": "revealStageLen" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1", + "typeString": "literal_string \"revealStageLen\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2985, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7734:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7734:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 2988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7734:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2975, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "7628:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startPoll", + "nodeType": "MemberAccess", + "referencedDeclaration": 1101, + "src": "7628:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) external returns (uint256)" + } + }, + "id": 2989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7628:147:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7614:161:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2991, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "7782:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 2993, + "indexExpression": { + "argumentTypes": null, + "id": 2992, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "7793:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7782:18:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2995, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "7833:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7833:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 2997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7865:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "64697370656e736174696f6e506374", + "id": 3000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7889:17:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + }, + "value": "dispensationPct" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4", + "typeString": "literal_string \"dispensationPct\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2998, + "name": "parameterizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2633, + "src": "7871:13:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Parameterizer_$2490", + "typeString": "contract Parameterizer" + } + }, + "id": 2999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2349, + "src": "7871:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 3001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7871:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7865:42:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3003, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7864:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3004, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "7911:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7864:57:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3006, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7863:59:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 3007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7925:3:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "7863:65:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3009, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "7943:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7971:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7997:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": null, + "id": 2994, + "name": "Challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2619, + "src": "7803:9:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Challenge_$2619_storage_ptr_$", + "typeString": "type(struct Registry.Challenge storage pointer)" + } + }, + "id": 3012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "challenger", + "rewardPool", + "stake", + "resolved", + "totalTokens" + ], + "nodeType": "FunctionCall", + "src": "7803:202:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_memory", + "typeString": "struct Registry.Challenge memory" + } + }, + "src": "7782:223:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3014, + "nodeType": "ExpressionStatement", + "src": "7782:223:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3015, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "8070:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3017, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "8070:19:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3018, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8092:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8070:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3020, + "nodeType": "ExpressionStatement", + "src": "8070:28:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3021, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2923, + "src": "8158:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "8158:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 3024, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "8185:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8158:37:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3026, + "nodeType": "ExpressionStatement", + "src": "8158:37:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3030, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "8265:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8265:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3032, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3729, + "src": "8277:4:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + } + }, + { + "argumentTypes": null, + "id": 3033, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2929, + "src": "8283:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Registry_$3593", + "typeString": "contract Registry" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3028, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "8246:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 390, + "src": "8246:18: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": 3034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8246:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3027, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "8238:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8238:57:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3036, + "nodeType": "ExpressionStatement", + "src": "8238:57:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3038, + "name": "commitEndDate", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "8302:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3037, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8302:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3039, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8302:18:6" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3041, + "name": "revealEndDate", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "8326:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3040, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8326:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3042, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8326:18:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 3043, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3038, + "src": "8351:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3044, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3041, + "src": "8366:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 3045, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8350:31:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3048, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8399:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3046, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "8384:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollMap", + "nodeType": "MemberAccess", + "referencedDeclaration": 535, + "src": "8384:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 3049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8384:22:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256)" + } + }, + "src": "8350:56:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3051, + "nodeType": "ExpressionStatement", + "src": "8350:56:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3053, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "8436:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3054, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8456:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3055, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2917, + "src": "8470:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 3056, + "name": "commitEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3038, + "src": "8483:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3057, + "name": "revealEndDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3041, + "src": "8504:13:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3058, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "8525:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8525:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3052, + "name": "_Challenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2522, + "src": "8418:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,string memory,uint256,uint256,address)" + } + }, + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:123:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3061, + "nodeType": "EmitStatement", + "src": "8413:128:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3062, + "name": "pollID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2974, + "src": "8555:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2921, + "id": 3063, + "nodeType": "Return", + "src": "8548:13:6" + } + ] + }, + "documentation": "@dev Starts a poll for a listingHash which is either in the apply stage or\nalready in the whitelist. Tokens are taken from the challenger and the\napplicant's deposits are locked.\n@param _listingHash The listingHash being challenged, whether listed or in application\n@param _data Extra data relevant to the challenge. Think IPFS hashes.", + "id": 3065, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "challenge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2915, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "6958:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2914, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6958:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2917, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "6980:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2916, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6980:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6957:36:6" + }, + "payable": false, + "returnParameters": { + "id": 2921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2920, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "7012:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2919, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7012:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7011:18:6" + }, + "scope": 3593, + "src": "6939:1627:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 3092, + "nodeType": "Block", + "src": "8846:217:6", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3071, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "8873:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3070, + "name": "canBeWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3271, + "src": "8856:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8856:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3079, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "8970:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3078, + "name": "challengeCanBeResolved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3354, + "src": "8947:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8947:36:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3089, + "nodeType": "Block", + "src": "9036:23:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3086, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3707, + 3708 + ], + "referencedDeclaration": 3707, + "src": "9044:6:6", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9044:8:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3088, + "nodeType": "ExpressionStatement", + "src": "9044:8:6" + } + ] + }, + "id": 3090, + "nodeType": "IfStatement", + "src": "8943:116:6", + "trueBody": { + "id": 3085, + "nodeType": "Block", + "src": "8985:45:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3082, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "9010:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3081, + "name": "resolveChallenge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3515, + "src": "8993:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8993:30:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3084, + "nodeType": "ExpressionStatement", + "src": "8993:30:6" + } + ] + } + }, + "id": 3091, + "nodeType": "IfStatement", + "src": "8852:207:6", + "trueBody": { + "id": 3077, + "nodeType": "Block", + "src": "8888:49:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3074, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3067, + "src": "8917:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3073, + "name": "whitelistApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3539, + "src": "8896:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8896:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3076, + "nodeType": "ExpressionStatement", + "src": "8896:34:6" + } + ] + } + } + ] + }, + "documentation": "@dev Updates a listingHash's status from 'application' to 'listing' or resolves\na challenge if one exists.\n@param _listingHash The listingHash whose status is being updated", + "id": 3093, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3067, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3093, + "src": "8817:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3066, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8817:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8816:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3069, + "nodeType": "ParameterList", + "parameters": [], + "src": "8846:0:6" + }, + "scope": 3593, + "src": "8795:268:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3180, + "nodeType": "Block", + "src": "9532:853:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3101, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "9644:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3103, + "indexExpression": { + "argumentTypes": null, + "id": 3102, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9655:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9644:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 2618, + "src": "9644:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3107, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3105, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9681:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9681:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9644:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9696:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "9644:57:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3100, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9636:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9636:66:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3111, + "nodeType": "ExpressionStatement", + "src": "9636:66:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3113, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "9716:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3115, + "indexExpression": { + "argumentTypes": null, + "id": 3114, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9727:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9716:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "9716:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9753:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9716:41:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3112, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "9708:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9708:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3120, + "nodeType": "ExpressionStatement", + "src": "9708:50:6" + }, + { + "assignments": [ + 3122 + ], + "declarations": [ + { + "constant": false, + "id": 3122, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9765:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3121, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9765:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3130, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3125, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9811:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9811:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3127, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9823:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3128, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3097, + "src": "9837:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3123, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "9784:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "9784:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 3129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9784:59:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9765:78:6" + }, + { + "assignments": [ + 3132 + ], + "declarations": [ + { + "constant": false, + "id": 3132, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9849:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3131, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9849:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3139, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3134, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "9875:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9875:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3136, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "9887:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3137, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3097, + "src": "9901:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3133, + "name": "voterReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3223, + "src": "9863:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view returns (uint256)" + } + }, + "id": 3138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9863:44:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9849:58:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3140, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10057:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3142, + "indexExpression": { + "argumentTypes": null, + "id": 3141, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10068:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10057:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "10057:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 3144, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3122, + "src": "10097:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10057:51:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3146, + "nodeType": "ExpressionStatement", + "src": "10057:51:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3147, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10114:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3149, + "indexExpression": { + "argumentTypes": null, + "id": 3148, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10125:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10114:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3150, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "10114:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "id": 3151, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3132, + "src": "10153:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10114:45:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3153, + "nodeType": "ExpressionStatement", + "src": "10114:45:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3154, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10215:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3156, + "indexExpression": { + "argumentTypes": null, + "id": 3155, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10226:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10215:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 2618, + "src": "10215:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3160, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3158, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "10252:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10252:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10215:48:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10266:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "10215:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3163, + "nodeType": "ExpressionStatement", + "src": "10215:55:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3167, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "10300:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10300:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3169, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3132, + "src": "10312:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3165, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "10285:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "10285:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10285:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "10277:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10277:43:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3172, + "nodeType": "ExpressionStatement", + "src": "10277:43:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3174, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "10347:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3175, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3132, + "src": "10361:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3176, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "10369:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10369:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3173, + "name": "_RewardClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2590, + "src": "10332:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,uint256,address)" + } + }, + "id": 3178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10332:48:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3179, + "nodeType": "EmitStatement", + "src": "10327:53:6" + } + ] + }, + "documentation": "@dev Called by a voter to claim their reward for each completed vote. Someone\nmust call updateStatus() before this can be called.\n@param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n@param _salt The salt of a voter's commit hash in the given poll", + "id": 3181, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3095, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9494:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3094, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9494:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3097, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "9513:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3096, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9513:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9493:31:6" + }, + "payable": false, + "returnParameters": { + "id": 3099, + "nodeType": "ParameterList", + "parameters": [], + "src": "9532:0:6" + }, + "scope": 3593, + "src": "9473:912:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3222, + "nodeType": "Block", + "src": "10940:258:6", + "statements": [ + { + "assignments": [ + 3193 + ], + "declarations": [ + { + "constant": false, + "id": 3193, + "name": "totalTokens", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10946:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3192, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10946:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3198, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3194, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "10965:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3196, + "indexExpression": { + "argumentTypes": null, + "id": 3195, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "10976:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10965:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "10965:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10946:55:6" + }, + { + "assignments": [ + 3200 + ], + "declarations": [ + { + "constant": false, + "id": 3200, + "name": "rewardPool", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "11007:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3199, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11007:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3205, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3201, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "11025:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3203, + "indexExpression": { + "argumentTypes": null, + "id": 3202, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "11036:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11025:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "11025:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11007:53:6" + }, + { + "assignments": [ + 3207 + ], + "declarations": [ + { + "constant": false, + "id": 3207, + "name": "voterTokens", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "11066:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3206, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11066:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3214, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3210, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3183, + "src": "11112:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3211, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3185, + "src": "11120:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3212, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3187, + "src": "11134:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3208, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "11085:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNumPassingTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 1045, + "src": "11085:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256,uint256) view external returns (uint256)" + } + }, + "id": 3213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11085:55:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11066:74:6" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3215, + "name": "voterTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3207, + "src": "11154:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3216, + "name": "rewardPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3200, + "src": "11168:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11154:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3218, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11153:26:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3219, + "name": "totalTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3193, + "src": "11182:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11153:40:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3191, + "id": 3221, + "nodeType": "Return", + "src": "11146:47:6" + } + ] + }, + "documentation": "@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The pollID of the challenge a reward balance is being queried for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward", + "id": 3223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "voterReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3183, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10862:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10862:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3185, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10878:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3184, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10878:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3187, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10897:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3186, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10897:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10861:47:6" + }, + "payable": false, + "returnParameters": { + "id": 3191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3190, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3223, + "src": "10932:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3189, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10932:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10931:6:6" + }, + "scope": 3593, + "src": "10841:357:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3270, + "nodeType": "Block", + "src": "11436:629:6", + "statements": [ + { + "assignments": [ + 3231 + ], + "declarations": [ + { + "constant": false, + "id": 3231, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "11442:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3230, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11442:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3236, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3232, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "11461:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3234, + "indexExpression": { + "argumentTypes": null, + "id": 3233, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11470:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11461:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3235, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "11461:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11442:53:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3238, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11768:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3237, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "11757:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11757:24:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3240, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "11828:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3242, + "indexExpression": { + "argumentTypes": null, + "id": 3241, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11837:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11828:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "11828:40:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3244, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3704, + "src": "11871:3:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11828:46:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11757:117:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 3250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11921:28:6", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3248, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "11936:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3247, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "11922:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11922:27:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11757:192:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3252, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3231, + "src": "11960:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11975:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11960:16:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3255, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "11980:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3257, + "indexExpression": { + "argumentTypes": null, + "id": 3256, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3231, + "src": "11991:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11980:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "11980:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12016:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "11980:40:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11960:60:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3262, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11959:62:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11757:264:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3267, + "nodeType": "IfStatement", + "src": "11709:333:6", + "trueBody": { + "id": 3266, + "nodeType": "Block", + "src": "12028:14:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12036:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3229, + "id": 3265, + "nodeType": "Return", + "src": "12029:11:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12055:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 3229, + "id": 3269, + "nodeType": "Return", + "src": "12048:12:6" + } + ] + }, + "documentation": "@dev Determines whether the given listingHash be whitelisted.\n@param _listingHash The listingHash whose status is to be examined", + "id": 3271, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "canBeWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3225, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "11387:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11387:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11386:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3229, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3228, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3271, + "src": "11430:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3227, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11430:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11429:6:6" + }, + "scope": 3593, + "src": "11361:704:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3283, + "nodeType": "Block", + "src": "12311:52:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3278, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12324:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3280, + "indexExpression": { + "argumentTypes": null, + "id": 3279, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3273, + "src": "12333:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12324:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "12324:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3277, + "id": 3282, + "nodeType": "Return", + "src": "12317:41:6" + } + ] + }, + "documentation": "@dev Returns true if the provided listingHash is whitelisted\n@param _listingHash The listingHash whose status is to be examined", + "id": 3284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3273, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "12250:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12250:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12249:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3276, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "12293:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3275, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12293:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12292:18:6" + }, + "scope": 3593, + "src": "12227:136:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3298, + "nodeType": "Block", + "src": "12599:62:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3291, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12612:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3293, + "indexExpression": { + "argumentTypes": null, + "id": 3292, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3286, + "src": "12621:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12612:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 2595, + "src": "12612:40:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12655:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12612:44:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3290, + "id": 3297, + "nodeType": "Return", + "src": "12605:51:6" + } + ] + }, + "documentation": "@dev Returns true if apply was called for this listingHash\n@param _listingHash The listingHash whose status is to be examined", + "id": 3299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "appWasMade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3286, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "12543:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12543:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12542:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3289, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 3299, + "src": "12586:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12586:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12585:13:6" + }, + "scope": 3593, + "src": "12523:138:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3327, + "nodeType": "Block", + "src": "12913:155:6", + "statements": [ + { + "assignments": [ + 3307 + ], + "declarations": [ + { + "constant": false, + "id": 3307, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3328, + "src": "12919:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3306, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12919:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3312, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3308, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12938:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3310, + "indexExpression": { + "argumentTypes": null, + "id": 3309, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "12947:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12938:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3311, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "12938:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12919:53:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3313, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "12987:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3315, + "indexExpression": { + "argumentTypes": null, + "id": 3314, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3301, + "src": "12996:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12987:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "12987:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13024:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12987:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 3323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13029:33:6", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3319, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "13030:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3321, + "indexExpression": { + "argumentTypes": null, + "id": 3320, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3307, + "src": "13041:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13030:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3322, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "13030:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12987:75:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3325, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12986:77:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3305, + "id": 3326, + "nodeType": "Return", + "src": "12979:84:6" + } + ] + }, + "documentation": "@dev Returns true if the application/listingHash has an unresolved challenge\n@param _listingHash The listingHash whose status is to be examined", + "id": 3328, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeExists", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3301, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3328, + "src": "12864:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3300, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12864:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12863:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3304, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3328, + "src": "12907:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3303, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12907:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12906:6:6" + }, + "scope": 3593, + "src": "12839:229:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3353, + "nodeType": "Block", + "src": "13384:152:6", + "statements": [ + { + "assignments": [ + 3336 + ], + "declarations": [ + { + "constant": false, + "id": 3336, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "13390:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3335, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13390:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3341, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3337, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "13409:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3339, + "indexExpression": { + "argumentTypes": null, + "id": 3338, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "13418:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13409:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "13409:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13390:53:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3344, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3330, + "src": "13474:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3343, + "name": "challengeExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3328, + "src": "13458:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13458:29:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3342, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "13450:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13450:38:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3347, + "nodeType": "ExpressionStatement", + "src": "13450:38:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3350, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3336, + "src": "13519:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3348, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "13502:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollEnded", + "nodeType": "MemberAccess", + "referencedDeclaration": 1187, + "src": "13502:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 3351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13502:29:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3334, + "id": 3352, + "nodeType": "Return", + "src": "13495:36:6" + } + ] + }, + "documentation": "@dev Determines whether voting has concluded in a challenge for a given\nlistingHash. Throws if no challenge exists.\n@param _listingHash A listingHash with an unresolved challenge", + "id": 3354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "challengeCanBeResolved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3330, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "13335:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3329, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13334:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3333, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3354, + "src": "13378:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3332, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13378:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13377:6:6" + }, + "scope": 3593, + "src": "13303:233:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3402, + "nodeType": "Block", + "src": "13785:375:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13799:34:6", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3362, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "13800:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3364, + "indexExpression": { + "argumentTypes": null, + "id": 3363, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "13811:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13800:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "13800:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3369, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "13854:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3367, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "13837:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pollEnded", + "nodeType": "MemberAccess", + "referencedDeclaration": 1187, + "src": "13837:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 3370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13837:30:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13799:68:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3361, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "13791:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13791:77:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3373, + "nodeType": "ExpressionStatement", + "src": "13791:77:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3376, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "13992:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3374, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "13946:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "13946:45:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 3377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13946:59:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14009:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13946:64:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3388, + "nodeType": "IfStatement", + "src": "13942:126:6", + "trueBody": { + "id": 3387, + "nodeType": "Block", + "src": "14012:56:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14027:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3381, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14031:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3383, + "indexExpression": { + "argumentTypes": null, + "id": 3382, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "14042:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14031:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "14031:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14027:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3360, + "id": 3386, + "nodeType": "Return", + "src": "14020:41:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 3389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14082:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3390, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14086:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3392, + "indexExpression": { + "argumentTypes": null, + "id": 3391, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "14097:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14086:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "stake", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "14086:30:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14082:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3395, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14081:36:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3396, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14120:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3398, + "indexExpression": { + "argumentTypes": null, + "id": 3397, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3356, + "src": "14131:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14120:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3399, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "14120:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14081:74:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3360, + "id": 3401, + "nodeType": "Return", + "src": "14074:81:6" + } + ] + }, + "documentation": "@dev Determines the number of tokens awarded to the winning party in a challenge.\n@param _challengeID The challengeID to determine a reward for", + "id": 3403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "determineReward", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3356, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "13739:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3355, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13739:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13738:19:6" + }, + "payable": false, + "returnParameters": { + "id": 3360, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3359, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3403, + "src": "13779:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3358, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13779:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13778:6:6" + }, + "scope": 3593, + "src": "13714:446:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3419, + "nodeType": "Block", + "src": "14458:62:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3412, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "14471:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3414, + "indexExpression": { + "argumentTypes": null, + "id": 3413, + "name": "_challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3405, + "src": "14482:12:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14471:24:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3415, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenClaims", + "nodeType": "MemberAccess", + "referencedDeclaration": 2618, + "src": "14471:36:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 3417, + "indexExpression": { + "argumentTypes": null, + "id": 3416, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3407, + "src": "14508:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14471:44:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3411, + "id": 3418, + "nodeType": "Return", + "src": "14464:51:6" + } + ] + }, + "documentation": "@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID", + "id": 3420, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "tokenClaims", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3405, + "name": "_challengeID", + "nodeType": "VariableDeclaration", + "scope": 3420, + "src": "14396:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3404, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14396:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3407, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 3420, + "src": "14415:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3406, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14415:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14395:35:6" + }, + "payable": false, + "returnParameters": { + "id": 3411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3410, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3420, + "src": "14452:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3409, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14452:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14451:6:6" + }, + "scope": 3593, + "src": "14375:145:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3514, + "nodeType": "Block", + "src": "14900:1308:6", + "statements": [ + { + "assignments": [ + 3426 + ], + "declarations": [ + { + "constant": false, + "id": 3426, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 3515, + "src": "14906:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3425, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14906:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3431, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3427, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "14925:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3429, + "indexExpression": { + "argumentTypes": null, + "id": 3428, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "14934:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14925:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challengeID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "14925:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14906:53:6" + }, + { + "assignments": [ + 3433 + ], + "declarations": [ + { + "constant": false, + "id": 3433, + "name": "reward", + "nodeType": "VariableDeclaration", + "scope": 3515, + "src": "15080:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3432, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15080:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3437, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3435, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15110:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3434, + "name": "determineReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3403, + "src": "15094:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 3436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15094:28:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15080:42:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3438, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15175:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3440, + "indexExpression": { + "argumentTypes": null, + "id": 3439, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15186:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15175:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "resolved", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "15175:32:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15210:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15175:39:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3444, + "nodeType": "ExpressionStatement", + "src": "15175:39:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3445, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15308:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3447, + "indexExpression": { + "argumentTypes": null, + "id": 3446, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15319:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15308:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3448, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "15308:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3451, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15392:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3449, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "15346:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getTotalNumberOfTokensForWinningOption", + "nodeType": "MemberAccess", + "referencedDeclaration": 1166, + "src": "15346:45:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15346:58:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15308:96:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3454, + "nodeType": "ExpressionStatement", + "src": "15308:96:6" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3457, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15461:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3455, + "name": "voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2631, + "src": "15445:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PLCRVoting_$1471", + "typeString": "contract PLCRVoting" + } + }, + "id": 3456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isPassed", + "nodeType": "MemberAccess", + "referencedDeclaration": 1138, + "src": "15445:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 3458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15445:28:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3512, + "nodeType": "Block", + "src": "15823:381:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3485, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15889:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3484, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3592, + "src": "15876:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15876:26:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3487, + "nodeType": "ExpressionStatement", + "src": "15876:26:6" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3491, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15980:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3493, + "indexExpression": { + "argumentTypes": null, + "id": 3492, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15991:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15980:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "challenger", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "15980:34:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3495, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3433, + "src": "16016:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3489, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "15965:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "15965:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15965:58:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "15957:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15957:67:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3498, + "nodeType": "ExpressionStatement", + "src": "15957:67:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3500, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "16067:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3501, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "16089:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3502, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "16110:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3504, + "indexExpression": { + "argumentTypes": null, + "id": 3503, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "16121:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16110:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "16110:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3506, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "16154:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3508, + "indexExpression": { + "argumentTypes": null, + "id": 3507, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "16165:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16154:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3509, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "16154:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3499, + "name": "_ChallengeSucceeded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2582, + "src": "16038:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 3510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16038:159:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3511, + "nodeType": "EmitStatement", + "src": "16033:164:6" + } + ] + }, + "id": 3513, + "nodeType": "IfStatement", + "src": "15441:763:6", + "trueBody": { + "id": 3483, + "nodeType": "Block", + "src": "15475:342:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3460, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15504:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3459, + "name": "whitelistApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3539, + "src": "15483:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15483:34:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3462, + "nodeType": "ExpressionStatement", + "src": "15483:34:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3463, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "15592:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3465, + "indexExpression": { + "argumentTypes": null, + "id": 3464, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15601:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15592:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "15592:38:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 3467, + "name": "reward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3433, + "src": "15634:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15592:48:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3469, + "nodeType": "ExpressionStatement", + "src": "15592:48:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3471, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3422, + "src": "15680:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3472, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15702:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3473, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15723:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3475, + "indexExpression": { + "argumentTypes": null, + "id": 3474, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15734:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15723:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3476, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rewardPool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2606, + "src": "15723:34:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3477, + "name": "challenges", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2623, + "src": "15767:10:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Challenge_$2619_storage_$", + "typeString": "mapping(uint256 => struct Registry.Challenge storage ref)" + } + }, + "id": 3479, + "indexExpression": { + "argumentTypes": null, + "id": 3478, + "name": "challengeID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3426, + "src": "15778:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15767:23:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Challenge_$2619_storage", + "typeString": "struct Registry.Challenge storage ref" + } + }, + "id": 3480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalTokens", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "15767:35:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3470, + "name": "_ChallengeFailed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2572, + "src": "15654:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 3481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15654:156:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3482, + "nodeType": "EmitStatement", + "src": "15649:161:6" + } + ] + } + } + ] + }, + "documentation": "@dev Determines the winner in a challenge. Rewards the winner tokens and\neither whitelists or de-whitelists the listingHash.\n@param _listingHash A listingHash with a challenge that is to be resolved", + "id": 3515, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resolveChallenge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3422, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3515, + "src": "14870:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3421, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14870:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14869:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3424, + "nodeType": "ParameterList", + "parameters": [], + "src": "14900:0:6" + }, + "scope": 3593, + "src": "14844:1364:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 3538, + "nodeType": "Block", + "src": "16602:143:6", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 3524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16612:35:6", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3520, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "16613:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3522, + "indexExpression": { + "argumentTypes": null, + "id": 3521, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3517, + "src": "16622:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16613:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "16613:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3530, + "nodeType": "IfStatement", + "src": "16608:86:6", + "trueBody": { + "id": 3529, + "nodeType": "Block", + "src": "16649:45:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3526, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3517, + "src": "16679:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3525, + "name": "_ApplicationWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2546, + "src": "16655:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16655:37:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3528, + "nodeType": "EmitStatement", + "src": "16650:42:6" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3531, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "16699:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3533, + "indexExpression": { + "argumentTypes": null, + "id": 3532, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3517, + "src": "16708:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16699:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "id": 3534, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "16699:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16736:4:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16699:41:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3537, + "nodeType": "ExpressionStatement", + "src": "16699:41:6" + } + ] + }, + "documentation": "@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made. Called by resolveChallenge() if an\napplication/listing beat a challenge.\n@param _listingHash The listingHash of an application/listingHash to be whitelisted", + "id": 3539, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "whitelistApplication", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3517, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3539, + "src": "16572:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3516, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16572:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16571:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3519, + "nodeType": "ParameterList", + "parameters": [], + "src": "16602:0:6" + }, + "scope": 3593, + "src": "16542:203:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 3591, + "nodeType": "Block", + "src": "16959:589:6", + "statements": [ + { + "assignments": [ + 3545 + ], + "declarations": [ + { + "constant": false, + "id": 3545, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "16965:23:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + }, + "typeName": { + "contractScope": null, + "id": 3544, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2604, + "src": "16965:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3549, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3546, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "16991:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3548, + "indexExpression": { + "argumentTypes": null, + "id": 3547, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17000:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16991:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16965:48:6" + }, + { + "condition": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3550, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "17099:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "17099:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3561, + "nodeType": "Block", + "src": "17175:53:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3558, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17208:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3557, + "name": "_ApplicationRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2550, + "src": "17188:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17188:33:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3560, + "nodeType": "EmitStatement", + "src": "17183:38:6" + } + ] + }, + "id": 3562, + "nodeType": "IfStatement", + "src": "17095:133:6", + "trueBody": { + "id": 3556, + "nodeType": "Block", + "src": "17120:49:6", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3553, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17149:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3552, + "name": "_ListingRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "17133:15:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 3554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17133:29:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3555, + "nodeType": "EmitStatement", + "src": "17128:34:6" + } + ] + } + }, + { + "assignments": [ + 3564 + ], + "declarations": [ + { + "constant": false, + "id": 3564, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "17277:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17277:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3567, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3565, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "17293:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2599, + "src": "17293:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17277:29:6" + }, + { + "assignments": [ + 3569 + ], + "declarations": [ + { + "constant": false, + "id": 3569, + "name": "unstakedDeposit", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "17312:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3568, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17312:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3572, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3570, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3545, + "src": "17335:7:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage_ptr", + "typeString": "struct Registry.Listing storage pointer" + } + }, + "id": 3571, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "17335:23:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17312:46:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 3576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "17364:29:6", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3573, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "17371:8:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$2604_storage_$", + "typeString": "mapping(bytes32 => struct Registry.Listing storage ref)" + } + }, + "id": 3575, + "indexExpression": { + "argumentTypes": null, + "id": 3574, + "name": "_listingHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3541, + "src": "17380:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17371:22:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$2604_storage", + "typeString": "struct Registry.Listing storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3577, + "nodeType": "ExpressionStatement", + "src": "17364:29:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3578, + "name": "unstakedDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3569, + "src": "17461:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17479:1:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17461:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3590, + "nodeType": "IfStatement", + "src": "17457:87:6", + "trueBody": { + "id": 3589, + "nodeType": "Block", + "src": "17482:62:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3584, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3564, + "src": "17513:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3585, + "name": "unstakedDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3569, + "src": "17520:15:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3582, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "17498:5:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$408", + "typeString": "contract ERC20" + } + }, + "id": 3583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 431, + "src": "17498:14:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17498:38:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3581, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3705, + 3706 + ], + "referencedDeclaration": 3705, + "src": "17490:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17490:47:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3588, + "nodeType": "ExpressionStatement", + "src": "17490:47:6" + } + ] + } + } + ] + }, + "documentation": "@dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n@param _listingHash The listing hash to delete", + "id": 3592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resetListing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3541, + "name": "_listingHash", + "nodeType": "VariableDeclaration", + "scope": 3592, + "src": "16929:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16929:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16928:22:6" + }, + "payable": false, + "returnParameters": { + "id": 3543, + "nodeType": "ParameterList", + "parameters": [], + "src": "16959:0:6" + }, + "scope": 3593, + "src": "16907:641:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 3594, + "src": "131:17419:6" + } + ], + "src": "0:17551:6" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.380Z" +} \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json new file mode 100644 index 0000000..4e61ad6 --- /dev/null +++ b/build/contracts/SafeMath.json @@ -0,0 +1,2363 @@ +{ + "contractName": "SafeMath", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582037fb7dd9177000bc20d24930cbc2c4657d0d02ced0bbd113619e0553eb4c006b0029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582037fb7dd9177000bc20d24930cbc2c4657d0d02ced0bbd113619e0553eb4c006b0029", + "sourceMap": "116:1222:7:-;;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": "116:1222:7:-;;;;;;;;", + "source": "pragma solidity 0.4.24;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n\n /**\n * @dev Multiplies two numbers, throws on overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {\n // Gas optimization: this is cheaper than asserting 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522\n if (a == 0) {\n return 0;\n }\n\n c = a * b;\n assert(c / a == b);\n return c;\n }\n\n /**\n * @dev Integer division of two numbers, truncating the quotient.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n // uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return a / b;\n }\n\n /**\n * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n /**\n * @dev Adds two numbers, throws on overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256 c) {\n c = a + b;\n assert(c >= a);\n return c;\n }\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 3687 + ] + }, + "id": 3688, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3595, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "id": 3687, + "linearizedBaseContracts": [ + 3687 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3627, + "nodeType": "Block", + "src": "271:304:7", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3604, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "486:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "491:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "486:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3610, + "nodeType": "IfStatement", + "src": "482:35:7", + "trueBody": { + "id": 3609, + "nodeType": "Block", + "src": "494:23:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "509:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3603, + "id": 3608, + "nodeType": "Return", + "src": "502:8:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3611, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3602, + "src": "523:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3612, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "527:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3613, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3599, + "src": "531:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "527:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "523:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3616, + "nodeType": "ExpressionStatement", + "src": "523:9:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3618, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3602, + "src": "545:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3619, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "549:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "545:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3621, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3599, + "src": "554:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "545:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3617, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "538:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "538:18:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3624, + "nodeType": "ExpressionStatement", + "src": "538:18:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 3625, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3602, + "src": "569:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3603, + "id": 3626, + "nodeType": "Return", + "src": "562:8:7" + } + ] + }, + "documentation": "@dev Multiplies two numbers, throws on overflow.", + "id": 3628, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3597, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3628, + "src": "215:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "215:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3599, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3628, + "src": "226:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "226:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "214:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3602, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3628, + "src": "260:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "260:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:11:7" + }, + "scope": 3687, + "src": "202:373:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3641, + "nodeType": "Block", + "src": "724:205:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3637, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3630, + "src": "919:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3638, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "923:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "919:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3636, + "id": 3640, + "nodeType": "Return", + "src": "912:12:7" + } + ] + }, + "documentation": "@dev Integer division of two numbers, truncating the quotient.", + "id": 3642, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3630, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "670:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "670:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3632, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "681:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "681:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "669:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3635, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "715:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "715:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "714:9:7" + }, + "scope": 3687, + "src": "657:272:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3661, + "nodeType": "Block", + "src": "1108:43:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3652, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3646, + "src": "1121:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 3653, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3644, + "src": "1126:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1121:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3651, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "1114:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1114:14:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3656, + "nodeType": "ExpressionStatement", + "src": "1114:14:7" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3657, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3644, + "src": "1141:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3658, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3646, + "src": "1145:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1141:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3650, + "id": 3660, + "nodeType": "Return", + "src": "1134:12:7" + } + ] + }, + "documentation": "@dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).", + "id": 3662, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3644, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3662, + "src": "1054:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3646, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3662, + "src": "1065:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3645, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1065:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1053:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3649, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3662, + "src": "1099:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3648, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1099:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1098:9:7" + }, + "scope": 3687, + "src": "1041:110:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3685, + "nodeType": "Block", + "src": "1282:54:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3671, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3669, + "src": "1288:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3672, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3664, + "src": "1292:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3673, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3666, + "src": "1296:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1292:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1288:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3676, + "nodeType": "ExpressionStatement", + "src": "1288:9:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3678, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3669, + "src": "1310:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3679, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3664, + "src": "1315:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1310:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3677, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "1303:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1303:14:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3682, + "nodeType": "ExpressionStatement", + "src": "1303:14:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 3683, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3669, + "src": "1330:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3670, + "id": 3684, + "nodeType": "Return", + "src": "1323:8:7" + } + ] + }, + "documentation": "@dev Adds two numbers, throws on overflow.", + "id": 3686, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3664, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3686, + "src": "1226:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1226:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3666, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3686, + "src": "1237:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1237:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1225:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3669, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3686, + "src": "1271:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1271:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1270:11:7" + }, + "scope": 3687, + "src": "1213:123:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3688, + "src": "116:1222:7" + } + ], + "src": "0:1339:7" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 3687 + ] + }, + "id": 3688, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3595, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "id": 3687, + "linearizedBaseContracts": [ + 3687 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3627, + "nodeType": "Block", + "src": "271:304:7", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3604, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "486:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "491:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "486:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3610, + "nodeType": "IfStatement", + "src": "482:35:7", + "trueBody": { + "id": 3609, + "nodeType": "Block", + "src": "494:23:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "509:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3603, + "id": 3608, + "nodeType": "Return", + "src": "502:8:7" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3611, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3602, + "src": "523:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3612, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "527:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 3613, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3599, + "src": "531:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "527:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "523:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3616, + "nodeType": "ExpressionStatement", + "src": "523:9:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3618, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3602, + "src": "545:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3619, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "549:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "545:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3621, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3599, + "src": "554:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "545:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3617, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "538:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "538:18:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3624, + "nodeType": "ExpressionStatement", + "src": "538:18:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 3625, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3602, + "src": "569:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3603, + "id": 3626, + "nodeType": "Return", + "src": "562:8:7" + } + ] + }, + "documentation": "@dev Multiplies two numbers, throws on overflow.", + "id": 3628, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3597, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3628, + "src": "215:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "215:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3599, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3628, + "src": "226:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "226:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "214:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3602, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3628, + "src": "260:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "260:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "259:11:7" + }, + "scope": 3687, + "src": "202:373:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3641, + "nodeType": "Block", + "src": "724:205:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3637, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3630, + "src": "919:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 3638, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3632, + "src": "923:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "919:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3636, + "id": 3640, + "nodeType": "Return", + "src": "912:12:7" + } + ] + }, + "documentation": "@dev Integer division of two numbers, truncating the quotient.", + "id": 3642, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3630, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "670:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "670:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3632, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "681:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "681:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "669:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3635, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "715:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "715:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "714:9:7" + }, + "scope": 3687, + "src": "657:272:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3661, + "nodeType": "Block", + "src": "1108:43:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3652, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3646, + "src": "1121:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 3653, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3644, + "src": "1126:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1121:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3651, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "1114:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1114:14:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3656, + "nodeType": "ExpressionStatement", + "src": "1114:14:7" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3657, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3644, + "src": "1141:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 3658, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3646, + "src": "1145:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1141:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3650, + "id": 3660, + "nodeType": "Return", + "src": "1134:12:7" + } + ] + }, + "documentation": "@dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).", + "id": 3662, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3644, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3662, + "src": "1054:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1054:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3646, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3662, + "src": "1065:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3645, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1065:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1053:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3649, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3662, + "src": "1099:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3648, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1099:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1098:9:7" + }, + "scope": 3687, + "src": "1041:110:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3685, + "nodeType": "Block", + "src": "1282:54:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3671, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3669, + "src": "1288:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3672, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3664, + "src": "1292:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 3673, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3666, + "src": "1296:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1292:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1288:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3676, + "nodeType": "ExpressionStatement", + "src": "1288:9:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3678, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3669, + "src": "1310:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 3679, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3664, + "src": "1315:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1310:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3677, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3691, + "src": "1303:6:7", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1303:14:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3682, + "nodeType": "ExpressionStatement", + "src": "1303:14:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 3683, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3669, + "src": "1330:1:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3670, + "id": 3684, + "nodeType": "Return", + "src": "1323:8:7" + } + ] + }, + "documentation": "@dev Adds two numbers, throws on overflow.", + "id": 3686, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3664, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 3686, + "src": "1226:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1226:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3666, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 3686, + "src": "1237:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1237:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1225:22:7" + }, + "payable": false, + "returnParameters": { + "id": 3670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3669, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 3686, + "src": "1271:9:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1271:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1270:11:7" + }, + "scope": 3687, + "src": "1213:123:7", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 3688, + "src": "116:1222:7" + } + ], + "src": "0:1339:7" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:48:42.373Z" +} \ No newline at end of file diff --git a/build/contracts/StandardToken.json b/build/contracts/StandardToken.json new file mode 100644 index 0000000..b32a1fd --- /dev/null +++ b/build/contracts/StandardToken.json @@ -0,0 +1,6781 @@ +{ + "contractName": "StandardToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "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": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "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" + }, + { + "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" + }, + { + "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": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "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": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611037806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820d738b8ecc54cc084f4fc97fe306d739d334dcc598271a09fc53208f9fca1c4c40029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085b565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aec565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b34565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d53565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4f565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156104de57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561052b57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156105b657600080fd5b610607826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069a826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561096c576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a00565b61097f8382610fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b7157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610bbe57600080fd5b610c0f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca2826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fef90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe457fe5b818303905092915050565b6000818301905082811015151561100257fe5b809050929150505600a165627a7a72305820d738b8ecc54cc084f4fc97fe306d739d334dcc598271a09fc53208f9fca1c4c40029", + "sourceMap": "333:3779:10:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:3779:10;;;;;;;", + "deployedSourceMap": "333:3779:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1813:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1813:188:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;361:83:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;361:83:1;;;;;;;;;;;;;;;;;;;;;;;725:470:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;725:470:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3678:431;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3678:431:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1121:99:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1121:99:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;598:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;598:321:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2925:296:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2925:296:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2320:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2320:153:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1813:188;1880:4;1924:6;1892:7;:19;1900:10;1892:19;;;;;;;;;;;;;;;:29;1912:8;1892:29;;;;;;;;;;;;;;;:38;;;;1962:8;1941:38;;1950:10;1941:38;;;1972:6;1941:38;;;;;;;;;;;;;;;;;;1992:4;1985:11;;1813:188;;;;:::o;361:83:1:-;405:7;427:12;;420:19;;361:83;:::o;725:470:10:-;831:4;868:1;853:17;;:3;:17;;;;845:26;;;;;;;;895:8;:15;904:5;895:15;;;;;;;;;;;;;;;;885:6;:25;;877:34;;;;;;;;935:7;:14;943:5;935:14;;;;;;;;;;;;;;;:26;950:10;935:26;;;;;;;;;;;;;;;;925:6;:36;;917:45;;;;;;;;987:27;1007:6;987:8;:15;996:5;987:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;969:8;:15;978:5;969:15;;;;;;;;;;;;;;;:45;;;;1036:25;1054:6;1036:8;:13;1045:3;1036:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1020:8;:13;1029:3;1020:13;;;;;;;;;;;;;;;:41;;;;1096:38;1127:6;1096:7;:14;1104:5;1096:14;;;;;;;;;;;;;;;:26;1111:10;1096:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1067:7;:14;1075:5;1067:14;;;;;;;;;;;;;;;:26;1082:10;1067:26;;;;;;;;;;;;;;;:67;;;;1161:3;1145:28;;1154:5;1145:28;;;1166:6;1145:28;;;;;;;;;;;;;;;;;;1186:4;1179:11;;725:470;;;;;:::o;3678:431::-;3784:4;3798:16;3817:7;:19;3825:10;3817:19;;;;;;;;;;;;;;;:29;3837:8;3817:29;;;;;;;;;;;;;;;;3798:48;;3875:8;3856:16;:27;3852:164;;;3925:1;3893:7;:19;3901:10;3893:19;;;;;;;;;;;;;;;:29;3913:8;3893:29;;;;;;;;;;;;;;;:33;;;;3852:164;;;3979:30;3992:16;3979:8;:12;;:30;;;;:::i;:::-;3947:7;:19;3955:10;3947:19;;;;;;;;;;;;;;;:29;3967:8;3947:29;;;;;;;;;;;;;;;:62;;;;3852:164;4047:8;4026:61;;4035:10;4026:61;;;4057:7;:19;4065:10;4057:19;;;;;;;;;;;;;;;:29;4077:8;4057:29;;;;;;;;;;;;;;;;4026:61;;;;;;;;;;;;;;;;;;4100:4;4093:11;;3678:431;;;;;:::o;1121:99:1:-;1177:7;1199:8;:16;1208:6;1199:16;;;;;;;;;;;;;;;;1192:23;;1121:99;;;:::o;598:321::-;661:4;696:1;681:17;;:3;:17;;;;673:26;;;;;;;;723:8;:20;732:10;723:20;;;;;;;;;;;;;;;;713:6;:30;;705:39;;;;;;;;774:32;799:6;774:8;:20;783:10;774:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;751:8;:20;760:10;751:20;;;;;;;;;;;;;;;:55;;;;828:25;846:6;828:8;:13;837:3;828:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;812:8;:13;821:3;812:13;;;;;;;;;;;;;;;:41;;;;885:3;864:33;;873:10;864:33;;;890:6;864:33;;;;;;;;;;;;;;;;;;910:4;903:11;;598:321;;;;:::o;2925:296:10:-;3026:4;3080:46;3114:11;3080:7;:19;3088:10;3080:19;;;;;;;;;;;;;;;:29;3100:8;3080:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3040:7;:19;3048:10;3040:19;;;;;;;;;;;;;;;:29;3060:8;3040:29;;;;;;;;;;;;;;;:87;;;;3159:8;3138:61;;3147:10;3138:61;;;3169:7;:19;3177:10;3169:19;;;;;;;;;;;;;;;:29;3189:8;3169:29;;;;;;;;;;;;;;;;3138:61;;;;;;;;;;;;;;;;;;3212:4;3205:11;;2925:296;;;;:::o;2320:153::-;2419:7;2443;:15;2451:6;2443:15;;;;;;;;;;;;;;;:25;2459:8;2443:25;;;;;;;;;;;;;;;;2436:32;;2320:153;;;;:::o;1041:110:9:-;1099:7;1126:1;1121;:6;;1114:14;;;;;;1145:1;1141;:5;1134:12;;1041:110;;;;:::o;1213:123::-;1271:9;1296:1;1292;:5;1288:9;;1315:1;1310;:6;;1303:14;;;;;;1330:1;1323:8;;1213:123;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"./BasicToken.sol\";\nimport \"./ERC20.sol\";\n\n\n/**\n * @title Standard ERC20 token\n *\n * @dev Implementation of the basic standard token.\n * https://github.com/ethereum/EIPs/issues/20\n * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol\n */\ncontract StandardToken is ERC20, BasicToken {\n\n mapping (address => mapping (address => uint256)) internal allowed;\n\n\n /**\n * @dev Transfer tokens from one address to another\n * @param _from address The address which you want to send tokens from\n * @param _to address The address which you want to transfer to\n * @param _value uint256 the amount of tokens to be transferred\n */\n function transferFrom(\n address _from,\n address _to,\n uint256 _value\n )\n public\n returns (bool)\n {\n require(_to != address(0));\n require(_value <= balances[_from]);\n require(_value <= allowed[_from][msg.sender]);\n\n balances[_from] = balances[_from].sub(_value);\n balances[_to] = balances[_to].add(_value);\n allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);\n emit Transfer(_from, _to, _value);\n return true;\n }\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\n * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\n * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * @param _spender The address which will spend the funds.\n * @param _value The amount of tokens to be spent.\n */\n function approve(address _spender, uint256 _value) public returns (bool) {\n allowed[msg.sender][_spender] = _value;\n emit Approval(msg.sender, _spender, _value);\n return true;\n }\n\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param _owner address The address which owns the funds.\n * @param _spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(\n address _owner,\n address _spender\n )\n public\n view\n returns (uint256)\n {\n return allowed[_owner][_spender];\n }\n\n /**\n * @dev Increase the amount of tokens that an owner allowed to a spender.\n * approve should be called when allowed[_spender] == 0. To increment\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n * @param _spender The address which will spend the funds.\n * @param _addedValue The amount of tokens to increase the allowance by.\n */\n function increaseApproval(\n address _spender,\n uint256 _addedValue\n )\n public\n returns (bool)\n {\n allowed[msg.sender][_spender] = (\n allowed[msg.sender][_spender].add(_addedValue));\n emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n /**\n * @dev Decrease the amount of tokens that an owner allowed to a spender.\n * approve should be called when allowed[_spender] == 0. To decrement\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n * @param _spender The address which will spend the funds.\n * @param _subtractedValue The amount of tokens to decrease the allowance by.\n */\n function decreaseApproval(\n address _spender,\n uint256 _subtractedValue\n )\n public\n returns (bool)\n {\n uint256 oldValue = allowed[msg.sender][_spender];\n if (_subtractedValue > oldValue) {\n allowed[msg.sender][_spender] = 0;\n } else {\n allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);\n }\n emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n}\n", + "sourcePath": "/home/rob/Github/computable/contracts/StandardToken.sol", + "ast": { + "absolutePath": "/home/rob/Github/computable/contracts/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 4018 + ] + }, + "id": 4019, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3773, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:10" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/BasicToken.sol", + "file": "./BasicToken.sol", + "id": 3774, + "nodeType": "ImportDirective", + "scope": 4019, + "sourceUnit": 155, + "src": "25:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 3775, + "nodeType": "ImportDirective", + "scope": 4019, + "sourceUnit": 523, + "src": "52:21:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3776, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 522, + "src": "359:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$522", + "typeString": "contract ERC20" + } + }, + "id": 3777, + "nodeType": "InheritanceSpecifier", + "src": "359:5:10" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3778, + "name": "BasicToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 154, + "src": "366:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicToken_$154", + "typeString": "contract BasicToken" + } + }, + "id": 3779, + "nodeType": "InheritanceSpecifier", + "src": "366:10:10" + } + ], + "contractDependencies": [ + 154, + 522, + 554 + ], + "contractKind": "contract", + "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\nhttps://github.com/ethereum/EIPs/issues/20\nBased on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented": true, + "id": 4018, + "linearizedBaseContracts": [ + 4018, + 154, + 522, + 554 + ], + "name": "StandardToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3785, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 4018, + "src": "382:66:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 3784, + "keyType": { + "id": 3780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "391:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "382:49:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 3783, + "keyType": { + "id": 3781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "411:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "402:28:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 3782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "422:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3870, + "nodeType": "Block", + "src": "839:356:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3797, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "853:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "868:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "860:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "860:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "853:17:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3796, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "845:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "845:26:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3803, + "nodeType": "ExpressionStatement", + "src": "845:26:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3805, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "885:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3806, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "895:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3808, + "indexExpression": { + "argumentTypes": null, + "id": 3807, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "904:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "895:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "885:25:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3804, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "877:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "877:34:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3811, + "nodeType": "ExpressionStatement", + "src": "877:34:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3813, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "925:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3814, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "935:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3816, + "indexExpression": { + "argumentTypes": null, + "id": 3815, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "943:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "935:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3819, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3817, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "950:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "950:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "935:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "925:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3812, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "917:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "917:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3822, + "nodeType": "ExpressionStatement", + "src": "917:45:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3823, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "969:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3825, + "indexExpression": { + "argumentTypes": null, + "id": 3824, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "978:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "969:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3830, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1007:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3826, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "987:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3828, + "indexExpression": { + "argumentTypes": null, + "id": 3827, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "996:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "987:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "987:19: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": 3831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "987:27:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "969:45:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3833, + "nodeType": "ExpressionStatement", + "src": "969:45:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3834, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "1020:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3836, + "indexExpression": { + "argumentTypes": null, + "id": 3835, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "1029:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1020:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3841, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1054:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3837, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "1036:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3839, + "indexExpression": { + "argumentTypes": null, + "id": 3838, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "1045:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1036:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3770, + "src": "1036: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": 3842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1020:41:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3844, + "nodeType": "ExpressionStatement", + "src": "1020:41:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3845, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "1067:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3849, + "indexExpression": { + "argumentTypes": null, + "id": 3846, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "1075:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1067:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3850, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3847, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1082:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1082:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1067:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3858, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1127:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3851, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "1096:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3853, + "indexExpression": { + "argumentTypes": null, + "id": 3852, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "1104:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1096:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3856, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3854, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1111:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1111:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1096:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "1096:30: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": 3859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1096:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1067:67:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3861, + "nodeType": "ExpressionStatement", + "src": "1067:67:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3863, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "1154:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3864, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "1161:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3865, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1166:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3862, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 553, + "src": "1145:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1145:28:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3867, + "nodeType": "EmitStatement", + "src": "1140:33:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1186:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3795, + "id": 3869, + "nodeType": "Return", + "src": "1179:11:10" + } + ] + }, + "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", + "id": 3871, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3787, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "752:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3786, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "752:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3789, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "771:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "771:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3791, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "788:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "746:60:10" + }, + "payable": false, + "returnParameters": { + "id": 3795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3794, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "831:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3793, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "831:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "830:6:10" + }, + "scope": 4018, + "src": "725:470:10", + "stateMutability": "nonpayable", + "superFunction": 504, + "visibility": "public" + }, + { + "body": { + "id": 3898, + "nodeType": "Block", + "src": "1886:115:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3880, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "1892:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3884, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3881, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1900:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1900:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1892:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3885, + "indexExpression": { + "argumentTypes": null, + "id": 3883, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3873, + "src": "1912:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1892:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3886, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3875, + "src": "1924:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1892:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3888, + "nodeType": "ExpressionStatement", + "src": "1892:38:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3890, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1950:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1950:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3892, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3873, + "src": "1962:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3893, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3875, + "src": "1972:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3889, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "1941:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1941:38:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3895, + "nodeType": "EmitStatement", + "src": "1936:43:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1992:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3879, + "id": 3897, + "nodeType": "Return", + "src": "1985:11:10" + } + ] + }, + "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\nBeware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", + "id": 3899, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3873, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3899, + "src": "1830:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1830:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3875, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3899, + "src": "1848:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1829:34:10" + }, + "payable": false, + "returnParameters": { + "id": 3879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3878, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3899, + "src": "1880:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3877, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1880:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1879:6:10" + }, + "scope": 4018, + "src": "1813:188:10", + "stateMutability": "nonpayable", + "superFunction": 513, + "visibility": "public" + }, + { + "body": { + "id": 3914, + "nodeType": "Block", + "src": "2430:43:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3908, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "2443:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3910, + "indexExpression": { + "argumentTypes": null, + "id": 3909, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3901, + "src": "2451:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2443:15:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3912, + "indexExpression": { + "argumentTypes": null, + "id": 3911, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3903, + "src": "2459:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2443:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3907, + "id": 3913, + "nodeType": "Return", + "src": "2436:32:10" + } + ] + }, + "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", + "id": 3915, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3901, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 3915, + "src": "2344:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2344:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3903, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3915, + "src": "2364:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3902, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2364:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2338:47:10" + }, + "payable": false, + "returnParameters": { + "id": 3907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3906, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3915, + "src": "2419:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3905, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2419:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2418:9:10" + }, + "scope": 4018, + "src": "2320:153:10", + "stateMutability": "view", + "superFunction": 493, + "visibility": "public" + }, + { + "body": { + "id": 3956, + "nodeType": "Block", + "src": "3034:187:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3924, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3040:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3928, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3925, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3048:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3048:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3040:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3929, + "indexExpression": { + "argumentTypes": null, + "id": 3927, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3060:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3040:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3937, + "name": "_addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3919, + "src": "3114:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3930, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3080:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3933, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3931, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3088:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3088:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3080:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3935, + "indexExpression": { + "argumentTypes": null, + "id": 3934, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3100:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3080:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3770, + "src": "3080:33: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": 3938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3080:46:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3939, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3072:55:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3040:87:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3941, + "nodeType": "ExpressionStatement", + "src": "3040:87:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3943, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3147:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3147:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3945, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3159:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3946, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3169:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3949, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3947, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3177:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3177:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3169:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3951, + "indexExpression": { + "argumentTypes": null, + "id": 3950, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3189:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3169:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3942, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "3138:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3138:61:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3953, + "nodeType": "EmitStatement", + "src": "3133:66:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3212:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3923, + "id": 3955, + "nodeType": "Return", + "src": "3205:11:10" + } + ] + }, + "documentation": "@dev Increase the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _addedValue The amount of tokens to increase the allowance by.", + "id": 3957, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3917, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3957, + "src": "2956:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2956:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3919, + "name": "_addedValue", + "nodeType": "VariableDeclaration", + "scope": 3957, + "src": "2978:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3918, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2950:51:10" + }, + "payable": false, + "returnParameters": { + "id": 3923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3922, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3957, + "src": "3026:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3921, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3026:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3025:6:10" + }, + "scope": 4018, + "src": "2925:296:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4016, + "nodeType": "Block", + "src": "3792:317:10", + "statements": [ + { + "assignments": [ + 3967 + ], + "declarations": [ + { + "constant": false, + "id": 3967, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3798:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3798:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3974, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3968, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3817:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3971, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3969, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3825:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3825:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3817:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3973, + "indexExpression": { + "argumentTypes": null, + "id": 3972, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "3837:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3817:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3798:48:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3975, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3961, + "src": "3856:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 3976, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3967, + "src": "3875:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3856:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4000, + "nodeType": "Block", + "src": "3939:77:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3988, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3947:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3992, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3989, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3955:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3955:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3947:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3993, + "indexExpression": { + "argumentTypes": null, + "id": 3991, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "3967:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3947:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3996, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3961, + "src": "3992:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3994, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3967, + "src": "3979:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "3979:12: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": 3997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3979:30:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3947:62:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3999, + "nodeType": "ExpressionStatement", + "src": "3947:62:10" + } + ] + }, + "id": 4001, + "nodeType": "IfStatement", + "src": "3852:164:10", + "trueBody": { + "id": 3987, + "nodeType": "Block", + "src": "3885:48:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3978, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3893:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3982, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3979, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3901:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3901:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3893:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3983, + "indexExpression": { + "argumentTypes": null, + "id": 3981, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "3913:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3893:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3925:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3893:33:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3986, + "nodeType": "ExpressionStatement", + "src": "3893:33:10" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4003, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "4035:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4035:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4005, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "4047:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4006, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "4057:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 4009, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4007, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "4065:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4065:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4057:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4011, + "indexExpression": { + "argumentTypes": null, + "id": 4010, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "4077:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4057:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4002, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "4026:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 4012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4026:61:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4013, + "nodeType": "EmitStatement", + "src": "4021:66:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4100:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3965, + "id": 4015, + "nodeType": "Return", + "src": "4093:11:10" + } + ] + }, + "documentation": "@dev Decrease the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed[_spender] == 0. To decrement\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _subtractedValue The amount of tokens to decrease the allowance by.", + "id": 4017, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "decreaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3959, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3709:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3709:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3961, + "name": "_subtractedValue", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3731:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3731:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3703:56:10" + }, + "payable": false, + "returnParameters": { + "id": 3965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3964, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3784:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3963, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3784:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3783:6:10" + }, + "scope": 4018, + "src": "3678:431:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4019, + "src": "333:3779:10" + } + ], + "src": "0:4113:10" + }, + "legacyAST": { + "absolutePath": "/home/rob/Github/computable/contracts/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 4018 + ] + }, + "id": 4019, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3773, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:10" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/BasicToken.sol", + "file": "./BasicToken.sol", + "id": 3774, + "nodeType": "ImportDirective", + "scope": 4019, + "sourceUnit": 155, + "src": "25:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/rob/Github/computable/contracts/ERC20.sol", + "file": "./ERC20.sol", + "id": 3775, + "nodeType": "ImportDirective", + "scope": 4019, + "sourceUnit": 523, + "src": "52:21:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3776, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 522, + "src": "359:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$522", + "typeString": "contract ERC20" + } + }, + "id": 3777, + "nodeType": "InheritanceSpecifier", + "src": "359:5:10" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3778, + "name": "BasicToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 154, + "src": "366:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicToken_$154", + "typeString": "contract BasicToken" + } + }, + "id": 3779, + "nodeType": "InheritanceSpecifier", + "src": "366:10:10" + } + ], + "contractDependencies": [ + 154, + 522, + 554 + ], + "contractKind": "contract", + "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\nhttps://github.com/ethereum/EIPs/issues/20\nBased on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented": true, + "id": 4018, + "linearizedBaseContracts": [ + 4018, + 154, + 522, + 554 + ], + "name": "StandardToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3785, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 4018, + "src": "382:66:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 3784, + "keyType": { + "id": 3780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "391:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "382:49:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 3783, + "keyType": { + "id": 3781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "411:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "402:28:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 3782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "422:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 3870, + "nodeType": "Block", + "src": "839:356:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3797, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "853:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 3799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "868:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "860:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "860:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "853:17:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3796, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "845:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "845:26:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3803, + "nodeType": "ExpressionStatement", + "src": "845:26:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3805, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "885:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3806, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "895:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3808, + "indexExpression": { + "argumentTypes": null, + "id": 3807, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "904:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "895:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "885:25:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3804, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "877:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "877:34:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3811, + "nodeType": "ExpressionStatement", + "src": "877:34:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3813, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "925:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3814, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "935:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3816, + "indexExpression": { + "argumentTypes": null, + "id": 3815, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "943:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "935:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3819, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3817, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "950:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "950:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "935:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "925:36:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3812, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4036, + 4037 + ], + "referencedDeclaration": 4036, + "src": "917:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "917:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3822, + "nodeType": "ExpressionStatement", + "src": "917:45:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3823, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "969:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3825, + "indexExpression": { + "argumentTypes": null, + "id": 3824, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "978:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "969:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3830, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1007:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3826, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "987:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3828, + "indexExpression": { + "argumentTypes": null, + "id": 3827, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "996:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "987:15:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "987:19: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": 3831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "987:27:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "969:45:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3833, + "nodeType": "ExpressionStatement", + "src": "969:45:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3834, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "1020:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3836, + "indexExpression": { + "argumentTypes": null, + "id": 3835, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "1029:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1020:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3841, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1054:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3837, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "1036:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3839, + "indexExpression": { + "argumentTypes": null, + "id": 3838, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "1045:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1036:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3770, + "src": "1036: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": 3842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1020:41:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3844, + "nodeType": "ExpressionStatement", + "src": "1020:41:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 3860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3845, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "1067:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3849, + "indexExpression": { + "argumentTypes": null, + "id": 3846, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "1075:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1067:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3850, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3847, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1082:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1082:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1067:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3858, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1127:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3851, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "1096:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3853, + "indexExpression": { + "argumentTypes": null, + "id": 3852, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "1104:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1096:14:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3856, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3854, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1111:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1111:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1096:26:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "1096:30: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": 3859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1096:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1067:67:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3861, + "nodeType": "ExpressionStatement", + "src": "1067:67:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3863, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "1154:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3864, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3789, + "src": "1161:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3865, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3791, + "src": "1166:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3862, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 553, + "src": "1145:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1145:28:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3867, + "nodeType": "EmitStatement", + "src": "1140:33:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1186:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3795, + "id": 3869, + "nodeType": "Return", + "src": "1179:11:10" + } + ] + }, + "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", + "id": 3871, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3787, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "752:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3786, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "752:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3789, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "771:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "771:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3791, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "788:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3790, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "788:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "746:60:10" + }, + "payable": false, + "returnParameters": { + "id": 3795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3794, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3871, + "src": "831:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3793, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "831:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "830:6:10" + }, + "scope": 4018, + "src": "725:470:10", + "stateMutability": "nonpayable", + "superFunction": 504, + "visibility": "public" + }, + { + "body": { + "id": 3898, + "nodeType": "Block", + "src": "1886:115:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3880, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "1892:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3884, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3881, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1900:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1900:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1892:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3885, + "indexExpression": { + "argumentTypes": null, + "id": 3883, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3873, + "src": "1912:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1892:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3886, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3875, + "src": "1924:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1892:38:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3888, + "nodeType": "ExpressionStatement", + "src": "1892:38:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3890, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "1950:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1950:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3892, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3873, + "src": "1962:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3893, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3875, + "src": "1972:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3889, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "1941:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1941:38:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3895, + "nodeType": "EmitStatement", + "src": "1936:43:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1992:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3879, + "id": 3897, + "nodeType": "Return", + "src": "1985:11:10" + } + ] + }, + "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\nBeware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", + "id": 3899, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3873, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3899, + "src": "1830:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1830:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3875, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 3899, + "src": "1848:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1848:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1829:34:10" + }, + "payable": false, + "returnParameters": { + "id": 3879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3878, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3899, + "src": "1880:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3877, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1880:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1879:6:10" + }, + "scope": 4018, + "src": "1813:188:10", + "stateMutability": "nonpayable", + "superFunction": 513, + "visibility": "public" + }, + { + "body": { + "id": 3914, + "nodeType": "Block", + "src": "2430:43:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3908, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "2443:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3910, + "indexExpression": { + "argumentTypes": null, + "id": 3909, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3901, + "src": "2451:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2443:15:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3912, + "indexExpression": { + "argumentTypes": null, + "id": 3911, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3903, + "src": "2459:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2443:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3907, + "id": 3913, + "nodeType": "Return", + "src": "2436:32:10" + } + ] + }, + "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", + "id": 3915, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3901, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 3915, + "src": "2344:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2344:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3903, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3915, + "src": "2364:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3902, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2364:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2338:47:10" + }, + "payable": false, + "returnParameters": { + "id": 3907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3906, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3915, + "src": "2419:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3905, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2419:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2418:9:10" + }, + "scope": 4018, + "src": "2320:153:10", + "stateMutability": "view", + "superFunction": 493, + "visibility": "public" + }, + { + "body": { + "id": 3956, + "nodeType": "Block", + "src": "3034:187:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3924, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3040:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3928, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3925, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3048:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3048:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3040:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3929, + "indexExpression": { + "argumentTypes": null, + "id": 3927, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3060:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3040:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3937, + "name": "_addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3919, + "src": "3114:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3930, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3080:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3933, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3931, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3088:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3088:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3080:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3935, + "indexExpression": { + "argumentTypes": null, + "id": 3934, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3100:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3080:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 3770, + "src": "3080:33: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": 3938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3080:46:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3939, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3072:55:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3040:87:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3941, + "nodeType": "ExpressionStatement", + "src": "3040:87:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3943, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3147:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3147:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3945, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3159:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3946, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3169:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3949, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3947, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3177:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3177:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3169:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3951, + "indexExpression": { + "argumentTypes": null, + "id": 3950, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3917, + "src": "3189:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3169:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3942, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "3138:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3138:61:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3953, + "nodeType": "EmitStatement", + "src": "3133:66:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3212:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3923, + "id": 3955, + "nodeType": "Return", + "src": "3205:11:10" + } + ] + }, + "documentation": "@dev Increase the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _addedValue The amount of tokens to increase the allowance by.", + "id": 3957, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3917, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 3957, + "src": "2956:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2956:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3919, + "name": "_addedValue", + "nodeType": "VariableDeclaration", + "scope": 3957, + "src": "2978:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3918, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2978:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2950:51:10" + }, + "payable": false, + "returnParameters": { + "id": 3923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3922, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 3957, + "src": "3026:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3921, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3026:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3025:6:10" + }, + "scope": 4018, + "src": "2925:296:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4016, + "nodeType": "Block", + "src": "3792:317:10", + "statements": [ + { + "assignments": [ + 3967 + ], + "declarations": [ + { + "constant": false, + "id": 3967, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3798:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3798:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3974, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3968, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3817:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3971, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3969, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3825:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3825:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3817:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3973, + "indexExpression": { + "argumentTypes": null, + "id": 3972, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "3837:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3817:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3798:48:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3975, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3961, + "src": "3856:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 3976, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3967, + "src": "3875:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3856:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4000, + "nodeType": "Block", + "src": "3939:77:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3988, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3947:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3992, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3989, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3955:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3955:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3947:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3993, + "indexExpression": { + "argumentTypes": null, + "id": 3991, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "3967:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3947:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3996, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3961, + "src": "3992:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3994, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3967, + "src": "3979:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 3746, + "src": "3979:12: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": 3997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3979:30:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3947:62:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3999, + "nodeType": "ExpressionStatement", + "src": "3947:62:10" + } + ] + }, + "id": 4001, + "nodeType": "IfStatement", + "src": "3852:164:10", + "trueBody": { + "id": 3987, + "nodeType": "Block", + "src": "3885:48:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3978, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "3893:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 3982, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3979, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "3901:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3901:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3893:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 3983, + "indexExpression": { + "argumentTypes": null, + "id": 3981, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "3913:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3893:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 3984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3925:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3893:33:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3986, + "nodeType": "ExpressionStatement", + "src": "3893:33:10" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4003, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "4035:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4035:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4005, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "4047:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 4006, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "4057:7:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 4009, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4007, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "4065:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4065:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4057:19:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4011, + "indexExpression": { + "argumentTypes": null, + "id": 4010, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3959, + "src": "4077:8:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4057:29:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4002, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "4026:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 4012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4026:61:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4013, + "nodeType": "EmitStatement", + "src": "4021:66:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4100:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 3965, + "id": 4015, + "nodeType": "Return", + "src": "4093:11:10" + } + ] + }, + "documentation": "@dev Decrease the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed[_spender] == 0. To decrement\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param _spender The address which will spend the funds.\n@param _subtractedValue The amount of tokens to decrease the allowance by.", + "id": 4017, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "decreaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3959, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3709:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3709:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3961, + "name": "_subtractedValue", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3731:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3731:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3703:56:10" + }, + "payable": false, + "returnParameters": { + "id": 3965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3964, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 4017, + "src": "3784:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3963, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3784:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3783:6:10" + }, + "scope": 4018, + "src": "3678:431:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4019, + "src": "333:3779:10" + } + ], + "src": "0:4113:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-21T22:21:14.792Z" +} \ No newline at end of file diff --git a/contracts/AttributeStore.sol b/contracts/AttributeStore.sol index 6fd14cb..5093fa9 100644 --- a/contracts/AttributeStore.sol +++ b/contracts/AttributeStore.sol @@ -9,7 +9,7 @@ library AttributeStore { function getAttribute(Data storage self, bytes32 _UUID, string _attrName) public view returns (uint) { - bytes32 key = keccak256(_UUID, _attrName); + bytes32 key = keccak256(abi.encodePacked(_UUID, _attrName)); return self.store[key]; } @@ -19,7 +19,7 @@ library AttributeStore { string _attrName, uint _attrVal) public { - bytes32 key = keccak256(_UUID, _attrName); + bytes32 key = keccak256(abi.encodePacked(_UUID, _attrName)); self.store[key] = _attrVal; } } diff --git a/contracts/BasicToken.sol b/contracts/BasicToken.sol new file mode 100644 index 0000000..387f650 --- /dev/null +++ b/contracts/BasicToken.sol @@ -0,0 +1,50 @@ +pragma solidity 0.4.24; + + +import "./ERC20Basic.sol"; +import "./SafeMath.sol"; + + +/** + * @title Basic token + * @dev Basic version of StandardToken, with no allowances. + */ +contract BasicToken is ERC20Basic { + using SafeMath for uint256; + + mapping(address => uint256) balances; + + uint256 totalSupply_; + + /** + * @dev Total number of tokens in existence + */ + function totalSupply() public view returns (uint256) { + return totalSupply_; + } + + /** + * @dev Transfer token for a specified address + * @param _to The address to transfer to. + * @param _value The amount to be transferred. + */ + function transfer(address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[msg.sender]); + + balances[msg.sender] = balances[msg.sender].sub(_value); + balances[_to] = balances[_to].add(_value); + emit Transfer(msg.sender, _to, _value); + return true; + } + + /** + * @dev Gets the balance of the specified address. + * @param _owner The address to query the the balance of. + * @return An uint256 representing the amount owned by the passed address. + */ + function balanceOf(address _owner) public view returns (uint256) { + return balances[_owner]; + } + +} diff --git a/contracts/PLCRVoting.sol b/contracts/PLCRVoting.sol index 842b41b..6cf69be 100644 --- a/contracts/PLCRVoting.sol +++ b/contracts/PLCRVoting.sol @@ -191,7 +191,7 @@ contract PLCRVoting { require(revealPeriodActive(_pollID)); require(pollMap[_pollID].didCommit[msg.sender]); // make sure user has committed a vote for this poll require(!pollMap[_pollID].didReveal[msg.sender]); // prevent user from revealing multiple times - require(keccak256(_voteOption, _salt) == getCommitHash(msg.sender, _pollID)); // compare resultant hash from inputs to original commitHash + require(keccak256(abi.encodePacked(_voteOption, _salt)) == getCommitHash(msg.sender, _pollID)); // compare resultant hash from inputs to original commitHash uint numTokens = getNumTokens(msg.sender, _pollID); @@ -223,7 +223,7 @@ contract PLCRVoting { require(pollMap[_pollID].didReveal[_voter]); uint winningChoice = isPassed(_pollID) ? 1 : 0; - bytes32 winnerHash = keccak256(winningChoice, _salt); + bytes32 winnerHash = keccak256(abi.encodePacked(winningChoice, _salt)); bytes32 commitHash = getCommitHash(_voter, _pollID); require(winnerHash == commitHash); @@ -461,6 +461,6 @@ contract PLCRVoting { @return UUID Hash which is deterministic from _user and _pollID */ function attrUUID(address _user, uint _pollID) public pure returns (bytes32 UUID) { - return keccak256(_user, _pollID); + return keccak256(abi.encodePacked(_user, _pollID)); } } diff --git a/contracts/Parameterizer.sol b/contracts/Parameterizer.sol index 1eed266..9de191a 100644 --- a/contracts/Parameterizer.sol +++ b/contracts/Parameterizer.sol @@ -128,10 +128,10 @@ contract Parameterizer { */ function proposeReparameterization(string _name, uint _value) public returns (bytes32) { uint deposit = get("pMinDeposit"); - bytes32 propID = keccak256(_name, _value); + bytes32 propID = keccak256(abi.encodePacked(_name, _value)); - if (keccak256(_name) == keccak256("dispensationPct") || - keccak256(_name) == keccak256("pDispensationPct")) { + if (keccak256(abi.encodePacked(_name)) == keccak256(abi.encodePacked("dispensationPct")) || + keccak256(abi.encodePacked(_name)) == keccak256(abi.encodePacked("pDispensationPct"))) { require(_value <= 100); } @@ -347,7 +347,7 @@ contract Parameterizer { @param _name the key whose value is to be determined */ function get(string _name) public view returns (uint value) { - return params[keccak256(_name)]; + return params[keccak256(abi.encodePacked(_name))]; } /** @@ -407,6 +407,6 @@ contract Parameterizer { @param _value the value to set the param to be set */ function set(string _name, uint _value) private { - params[keccak256(_name)] = _value; + params[keccak256(abi.encodePacked(_name))] = _value; } } diff --git a/contracts/Registry.sol b/contracts/Registry.sol index 2f3c00a..1a52826 100644 --- a/contracts/Registry.sol +++ b/contracts/Registry.sol @@ -191,14 +191,14 @@ contract Registry { */ function challenge(bytes32 _listingHash, string _data) external returns (uint challengeID) { Listing storage listing = listings[_listingHash]; - uint deposit = parameterizer.get("minDeposit"); + uint minDeposit = parameterizer.get("minDeposit"); // Listing must be in apply stage or already on the whitelist require(appWasMade(_listingHash) || listing.whitelisted); // Prevent multiple challenges require(listing.challengeID == 0 || challenges[listing.challengeID].resolved); - if (listing.unstakedDeposit < deposit) { + if (listing.unstakedDeposit < minDeposit) { // Not enough tokens, listingHash auto-delisted resetListing(_listingHash); emit _TouchAndRemoved(_listingHash); @@ -214,8 +214,8 @@ contract Registry { challenges[pollID] = Challenge({ challenger: msg.sender, - rewardPool: ((100 - parameterizer.get("dispensationPct")) * deposit) / 100, - stake: deposit, + rewardPool: ((100 - parameterizer.get("dispensationPct")) * minDeposit) / 100, + stake: minDeposit, resolved: false, totalTokens: 0 }); @@ -224,10 +224,10 @@ contract Registry { listing.challengeID = pollID; // Locks tokens for listingHash during challenge - listing.unstakedDeposit -= deposit; + listing.unstakedDeposit -= minDeposit; // Takes tokens from challenger - require(token.transferFrom(msg.sender, this, deposit)); + require(token.transferFrom(msg.sender, this, minDeposit)); uint commitEndDate; uint revealEndDate;